Indexed Financeの盗難事件を振り返る:数学の天才がDeFiプラットフォームを攻撃
翻訳:翻訳公会 tanghul ,The SeeDAO
時間は10月14日。場所はイングランドのリーズ近くの家。携帯電話が鳴ったとき、ローレンス・ダイはソファに座ってフィッシュ・アンド・チップスの夕食を楽しんでいた。メッセージは、彼のIndexed Financeの同僚からのものだった。これは、他のいくつかの通貨を代表するトークンを作成するための暗号通貨プラットフォームで、インデックスファンドに相当するが、ブロックチェーン上にある。この同僚が送ってきたのは、最近の取引記録のスクリーンショットで、後ろには疑問符がついていた。「これが理解できないなら、'この取引は本当に良い'と言うかもしれない。」ダイは言った。しかし彼は専門家であり、この画像は彼を警戒させるには十分だった:あるユーザーが非常に低い価格で大量に特定のトークンを購入しており、これは本来不可能だった。大変なことが起こった。
ダイは飛び上がり、食べ物をひっくり返し、寝室に駆け込んでIndexedの創設者の一人であるディロン・ケラーに電話をかけた。6つのタイムゾーンを越えたオースティン近く。ケラーは母親の家のリビングでDVDプレーヤーを分解し、中のレーザーヘッドを救おうとしていた。電話を取ると、ダイが息を切らしながらプラットフォームが攻撃を受けたと説明しているのを聞いた。ケラーは振り返って言った。「私はただ一言、'何?'と言った。」
ダイ 写真家:彭博ビジネスウィーク Joanne Coates
彼らはノートパソコンを取り出し、プラットフォームのコードに突っ込んだ。数人の知り合いも手伝いに駆けつけ、ダイの猫フィニー(ビットコインの先駆者ハル・フィニーにちなんで名付けられた)が肩に登って支援を示した。Indexedはイーサリアム上に構築されており、取引の詳細を記録する公共台帳であり、攻撃の記録もそこに残っている。何が起こったのか正確に把握するには数週間かかるが、明らかだったのは、プラットフォームが騙され、ユーザーの手元にあるトークンの価値が大幅に過小評価され、攻撃者に非常に低い割引価格で売られたということだった。合計で、加害者は1600万ドル相当の資産を持ち去った。
ケラーとダイは損失を食い止め、さらなる攻撃を防ぐためにコードを修正し、その後、広報の悪夢に直面し始めた。プラットフォームのDiscordとTelegramチャンネルでは、トークン保有者たちが想像を巡らせ、罵声を浴びせ、一部はチームを非難し、賠償を求めた。ケラーはTwitterでIndexedの数百人のユーザーに謝罪し、彼が脆弱性を発見できなかったことに責任を負った。彼は書いた。「私は完全にやらかした。」
今の問題は、誰が攻撃を仕掛けたのか、そして彼らが資金を返還するかどうかである。ほとんどの場合、暗号プラットフォームの脆弱性を利用した攻撃は内部の仕業と見なされ、他に誰かが関与していることを証明しない限りそう考えられる。「デフォルトでは、人々は常に'誰がやったの?なぜ開発チームがそんなことをするのか?'と尋ねる。」ダイは言った。
攻撃の翌朝、ダイは少し寝ようとしていたが、突然、ある貢献者がしばらく音沙汰がないことに気づいた。数週間前、ユーザー名がUmbralUpsilon(暗号コミュニティでは匿名が標準的な慣行)であるプログラマーがDiscordでダイとケラーに連絡し、プラットフォームをより効率的にするボットを作りたいと言った。彼らは同意し、スタートアップ費用を送った。ケラーは言った。「当時、彼が固定の貢献者になるかもしれないと期待していた。」
彼らが議論していた内容の範囲を考えると、ダイは攻撃が発生した後、UmbralUpsilonが彼らを助けてくれるか、少なくとも同情を示すと思っていた。しかし、何もなかった。ダイは彼らのチャット記録を引き出し、彼の部分の会話だけが残っていることに気づき、UmbralUpsilonは自分の情報を削除し、ユーザー名も変更していた。「これで私は一気に起き上がった。」ダイは言った。
彼は自分の疑念をチームに伝えた。次の数日間、彼らはネット上で攻撃者のデジタルトレースを慎重に探した。彼らは、攻撃に使用されたトークンを移転するためのイーサリアムウォレットが、最近のハッカーマラソンで参加者が賞金を受け取るために使用したウォレットと関連していることを発見した。その参加者は時折UmbralUpsilonと名乗っていた。彼らはその人物の登録情報を引き出し、GitHubという共同コーディングプラットフォームの個人プロフィールにリンクしていることを確認した。
このGitHubプロフィールを作成した人物は、"amedjedo"で始まるメールアドレスを使用しており、ドメインはオンタリオ州の公立学校の理事会に属していた。ダイと同僚は、ウィキペディアの編集者のユーザー名がこの人物に非常に似ていることを発見した。この編集者は、カナダの人気のある高校生の知能競技のページを修正し、"校友"の欄に一つの名前を追加していた:"Andean Medjedovic、有名な数学者"。残りの作業はGoogleに任せた。最近まで、Medjedovicはオンタリオ州のウォータールー大学の修士課程の学生で、数学を専攻していた。履歴書には、彼が暗号通貨に興味を持っていることが示されていた。
チーム全体が安堵した。通常、ネット攻撃者の身元が確認されると、彼らは資金を返還し、面子を保つための報酬を得ることになる。そして、"ホワイトハットハッカー"の名誉を得る。ダイはUmbralUpsilonに連絡し、彼が安全にトークンを返還すれば10%の報酬を得られると提案した。ダイは不本意ながら「よくやった」と称賛したが、返事はなかった。その後、ケラーは別の戦略を試み、Medjedovicに直接「Andean」と呼びかけた。今度はMedjedovicが反応した。彼はTwitterでIndexedのユーザーを公然と嘲笑した。「お前たちは場外取引に騙された。お前たちには何もできない……これが暗号通貨だ。」さらに、チームの一員がMedjedovicに個別にメールを送り、トークンを返還すれば5万ドルを支払うと言った。Medjedovicはイーサリアムアドレスのリンクを返し、「お金を送れ。」とメッセージを残した。彼らは騙されなかった。驚くべきことに、彼らはこの多くの苦痛をもたらした人物がまだ18歳であることを発見した。
最終的に、弁護士と警察を呼ぶ前に、ケラーはMedjedovicに最後のお願いのメッセージを送った。彼は書いた。「お願いだから今すぐ降参して、少しでも楽になってほしい。」この少年の返事は「Xdxdxd」(笑っている絵文字)と、「幸運を祈る。」という一言だった。
ケラー 写真家:彭博ビジネスウィーク Cindy Elizabeth
Indexedを設立したとき、ケラーと共同創設者はそれをDeFiの進歩として考えていた。ブロックチェーンに基づくDeFi運動(分散型金融)は、貸付、資産取引、ポートフォリオ管理のためのより自動化され、中介を減らす運用方法を提供することを目指している。一部の支持者はDeFiに実用主義的な見解を持ち、従来の金融に対する改善と見なしており、手数料を取る中介や遅い人間の意思決定を省いている。別の人々はより自由主義的で、DeFiは既存の体制の外にある楽園であり、政府や大企業が課す規則や制限を回避するための手段であると考えている。また、すべてが詐欺であると考える懐疑論者もいる。
自称「非常に進歩的な」ケラーは完全に実用主義者の陣営に属していた。23歳のとき、彼はコンピュータサイエンスのコースが彼に新しいことを教えていないと感じ、テキサス大学ダラス校を中退した。その後、ケラーはIndexedプラットフォームを設立し、ある問題を解決しようとした:もし誰かが暗号通貨を取引したいが、毎日ポートフォリオを管理するのが面倒だと感じた場合、どうすればよいのか?
従来の金融分野では、投資家が複数の株式を保有している場合、インデックスファンドを購入することで株式の売買の毎日の作業をポートフォリオマネージャーに任せることができる。ケラーはブロックチェーン上に同様のメカニズムを作成しようとしたが、取引をアルゴリズムで駆動するものだった。インデックスファンドマネージャーは、インデックス型株式の基礎資産で構成されたポートフォリオを維持し、Indexedのアルゴリズムは各インデックストークンの基礎トークンで構成された「資産プール」を維持する。ユーザーは、基礎資産の一つまたはすべてをプールに注入し、インデックストークンと交換することができる------このプロセスは「鋳造」と呼ばれる。同様に、ユーザーはインデックストークンをプールに注入することでそれを「焼却」し、一つまたはすべての基礎資産と交換することができる。また、インデックス株式型ファンド(ETF)のように、ユーザーはUniswapなどの分散型取引所でインデックストークンを売買することができる。
インデックスファンドの形式は多様であり、それぞれ異なる投資戦略を使用している。一部のインデックスは時価総額加重インデックスであり、例えばS&P 500インデックス:このインデックス内の株式の価格が上昇すると、その株式のポートフォリオ内での価値の割合も相応に上昇する。別のインデックスファンドは、各株式間の固定比率を維持しようとする。例えば、もしマイクロソフトの株式がポートフォリオの20%を占めるようにしたい場合、マイクロソフトの株式の価格が上昇したとき、ポートフォリオマネージャーはその20%の重みを維持するためにいくつかを売却する。
ケラーと彼のチームはこのようなファンドをモデルにIndexedを形成し、「自動マーケットメーカー(AMM)」と呼ばれるメカニズムを使用して基礎資産間のバランスを維持している。多くのDeFiプラットフォームはこのようにしている。従来のマーケットメーカーとは異なり、AMM自体は資産を売買しない。代わりに、内部トークンの「プール内価格」を調整することで、トレーダーがプールからトークンを購入したり、トークンをプールに売却したりするように促すことで、資産プールが期待される資産バランスに達するのを助ける。このプール内に必要なトークンが増えると、その「プール内価格」は上昇し、資産プールが特定のトークンの需要が減少すると、その「プール内価格」は下降する。このモデルは、ユーザーが合理的にプロトコルと相互作用することを前提としている。
人工管理者を排除することで、Indexedは管理費を免除される。一方、Indexedの強力な競合であるIndex Coopのユーザーは、その最も人気のあるインデックストークンを保持するだけで0.95%の管理費を支払わなければならない。(Indexedはトークンの焼却やプール内での資産交換に手数料を課すが、これらはごく一部のユーザーにしか影響しない)。Indexedはまた、プラットフォームと外部エンティティ間の相互作用の回数を制限することでコストを削減している。例えば、Indexedが特定の資産プール内のすべての資産の総価値を計算する必要があるとき、時にはプール内で最も重みのあるトークン(「基準トークン」と呼ばれる)の重みと価値に基づいて推測することがある。これにより、Indexedはイーサリアム上で支払う取引手数料を削減している。ケラーは「完全に受動的」であることを「インデックスファンドの既存の運用方法の自然な延長」と見なしている。
しかし、「受動的」であることはリスクも伴う。コードに問題があれば、誰かがそれを直接利用でき、いかなる人為的な保護措置を回避する必要がない。そして、コストを削減するためにブロックチェーンの相互作用を制限することは、トレードオフを必要とする:スマートコントラクト(特定の条件が満たされたときに自動的に実行されるプログラムスクリプト)のステップが少ないほど、安全性の脆弱性が生じる余地が大きくなる。攻撃を受けた暗号通貨プラットフォームのリストは長く、毎週増加している:Poly Network、Wormhole、Cream Finance、Rari Capital……ダイは言った。「DeFiの分野には古い言葉がある。2種類のDeFiプロトコルがある:すでにハッキングされたものと、これからハッキングされるもの。」
ケラーはすでにIndexedがトークンを資産プールにインポートするために使用するメカニズムに潜在的な攻撃経路があることを認識していた。この「インデックス再構築」が発生する場合──例えば、あるトークンの市場価値が別のトークンを上回り、ブルーチップファンドに組み込まれる資格を得ると、資産プールはその新しいトークンの初期価格を設定するために複雑な方程式を使用する。この方程式には基準トークンの価値という変数が含まれている。もしあなたが何らかの方法で基準トークンの資産プール内での価格設定を混乱させることができれば、理論的には資産プールが他のトークンに対して誤った価格設定を行うように強制することができる。
ケラーは言った。「私はこの問題を研究するのに少なくとも2週間を費やした。」しかし、彼は何の誤りも見つけられなかった。彼が雇った2人のセキュリティ研究者も誤りを見つけられなかった。だから彼は言った、「私はそれが攻撃の媒介ではないと確信した。」しかし、Indexedはウェブサイトに警告を発表した。「私たちは契約の安全性に自信を持っています……(しかし)見落とされた誤りがないとは絶対に言えません。」
このプラットフォームは2020年12月に初めて登場し、最初に2つのインデックストークンを提供した:CC10とDEFI5。CC10はイーサリアムで時価総額が最も高い10のトークンを代表し、DEFI5は時価総額が最も高い5つのDeFiトークンを代表する。このプロジェクトはすぐに少数の忠実なファンを獲得し、その中にはダイも含まれていた。ダイは理論計算機科学の博士号と金融工学の修士号を持ち、彼の修士論文は株式市場のインデックス投資ポートフォリオの最適化に関するものであった。Indexedは彼の興味と一致し、彼の比較的低いリスク嗜好にも合致していた。彼は言った。「暗号通貨以外の投資について話すとき、私は完全に退屈な人間です。」
ダイとケラーは非常に良い関係を築いていた。彼らは非常にネット風刺的なユーモアのセンスを持っており、一方は執筆の才能を持つ金融専門家で、もう一方は創造的なプログラマーであり、それぞれのスキルが補完し合っていた。「私は完全に文科系で、ディロンは典型的な理工系男です。」現在33歳のダイは言った。2021年4月、ダイは石油とガス会社での仕事を辞め、Indexedにフルタイムで参加した。
その年、暗号通貨への関心が急増した。この力の後押しを受けて、Indexedは急成長し、すぐにイーサリアムで時価総額第2位のインデックスプロトコルとなり、Index Coopに次ぐ存在となった。彼らは野心を高め、インデックストークンを発表し、プール内の資産が利息を得られるようにするためのアップグレードを計画した。Indexedがコードを展開するDeFiプラットフォームBalancerも刺激を受け、彼らに資金を提供した------これはIndexedの未来への信任投票であった。
Indexedが立ち上がったとき、通称アンディのMedjedovicは修士課程の学位を取得し始めたばかりだった。彼は1年以内に修士号を取得する予定だった。彼は常に迅速に行動し、小学校のときに10年生の数学の授業を受け始め、14歳で高校を卒業し、ウォータールー大学で3年で学士号を取得した。ウォータールー大学はカナダの数学とコンピュータサイエンスのトップスクールの一つであり、イーサリアムの共同創設者であるヴィタリック・ブテリンの母校でもある。2021年秋までに、Medjedovicはランダム行列理論に関する修士論文を提出し、博士号を申請する予定だった。ウォータールー大学の数学教授デビッド・ジャオは言った。「あの時点で、他にどの学生がそんなに早くその学位を取得できるか思いつかない。」
学問的には先を行っていたが、Medjedovicの社会的成熟度は遅れていた。匿名で敏感な問題について率直に話すことを求めた前の同級生は、彼が「自信過剰で傲慢なほどだった」と回想し、彼が自分より賢いと思う学生を公然と見下していたと述べた。この同級生はまた、「彼が何をしても、何を言っても、彼は間違っていないと信じており、それが絶対的な真実だと考えていた」と言った。報告によれば、Medjedovicは極端な思想に関与していた:この同級生は、彼が白人至上主義や人種改良学を称賛しているのを耳にしたことがある(この記事が公開される前に、Medjedovicはコメントの要求に応じなかった)。
それにもかかわらず、Medjedovicは友人を作り、国際チェスやビデオゲーム『リーグ・オブ・レジェンド』などの活動を通じて彼らとつながりを保っていた。彼はまた、小説、特にサイエンスフィクションを読むのが好きだった。あるソーシャルネットワークのプロフィールでは、彼はカート・ヴォネガットの『猫のゆりかご』からのいくつかの引用を引用し、人間が知識を探求することの無駄を表現していた。「虎は狩りをし、鳥は飛び、そして人は座って考え、考え、考える;虎は眠り、鳥は巣に帰り、人は自分に言う、すべては彼のものであると。」
Medjedovicはまた、熟練したプログラマーにもなり、Code4rena(略称C4)というオンラインハッカーコンペティションに頻繁に参加していた。このコンペティションでは、企業が開発者に自社システムのセキュリティ脆弱性を見つけるための報酬を提供する。彼は2回のコンペティションで賞を受賞した。「彼は親しみやすく、クールなように見えた」とC4の運営を手伝い、Indexedが攻撃を受ける前後にMedjedovicと通信したアダム・アヴェニールは言った。「真剣な子供のようだった。」
MedjedovicはDeFiに興味を持ち、特にAMMメカニズムに関心を持っていた。彼は電子メールで「新しいDeFi製品を聞くたびに、その動作方法を注意深く研究します。良いアイデアを思いついたら、少しお金を投資します。」(Medjedovicは電話インタビューを拒否したが、電子メールでいくつかの質問に答えることに同意した。)彼は数百時間を費やして「これらのDeFi製品の背後にある数学を遊び、異なる戦略の収益性を試してみた」と推定した。次に、彼はこれらのプラットフォームでアービトラージ取引を実行するボットを作成し、少額の利益を得て、資産プールをより効率的に運営するのを助けた。
Indexedを見た後、彼はそのスマートコントラクトを注意深く研究し、Indexedのコードに「誤った価格設定の機会」があることに気づいた------これはまさにケラーが心配していたもので、新しいトークンを導入する際に資産プール内部の価格計算を歪める手段であった。彼はまた、プール内の特定の取引規模を制限する保護措置を回避することが可能であることを発見した。彼は言った。「最初は信じられなかったが、いくつかの計算を行った結果、理論的には可能だとわかった。」次の1ヶ月間、彼はこの脆弱性を利用するスクリプトプログラムを書いた。
彼はまたDiscord上でUmbralUpsilonの名前でIndexedチームに連絡し、資産ポートフォリオと価格設定に関する基本的な質問をし、プラットフォームのアービトラージボットを作成することを提案した。今振り返ると、ダイは言った。「彼は私が彼に隙間を開けることができるかどうかを探っていたのかもしれない。」ケラーとダイは、彼らが当時共有した情報はこの攻撃に利用されなかったと言った。
最終的に、10月中旬、Medjedovicはデプロイする準備が整ったコードを持っていた。同様に重要なのは、Indexed内の最大の2つの資産プールに対する「インデックス再構築」のタイミングが成熟していたことである。それらには、少量の新しいトークンを導入するユーザーが必要だった------この2つの資産プールにとって必要なのはSushi、DeFi取引所SushiSwapのトークンであった。
この脆弱性を利用するには数百のプログラム命令を書く必要があり、裁判所は後に数十ページの文書を使って説明した。しかし、このプロセスにはいくつかの重要なステップが含まれていた。DEFI5インデックスを構成するトークンプールを攻撃するために(その後のCC10プールも)、Medjedovicはプログラムを作成し、このプログラムを使用して1.57億ドルの「フラッシュローン」を取得した------これは暗号通貨取引におけるメカニズムであり、ユーザーが同じグループの事前にプログラムされた取引の中でローンを返済すれば資金を得ることができる。次に、彼のスクリプトはローンの大部分を使ってプール内のほぼすべてのUNI(DeFi取引所Uniswapのトークン)を購入した。UNIの突然の供給不足はプール内のUNI価格を急騰させ、アルゴリズムはトレーダーにより多くのUNIをプールに売却するように促し、もはやプールからUNIを購入しないようにした。Medjedovicが購入したUNIが多ければ多いほど、プール内のUNIの価格は高騰し、最終的には外部市場価格の860倍に達した。彼は合計で1.09億ドル相当のトークンを費やし、実際の価値520万ドルのUNIを購入した。
DEFI5への攻撃:1つのプログラムと7つの重要なステップ(抜粋)
表面的には、これは狂った取引のように見えるが、UNIはDEFI5資産プール内で独特の役割を果たしていた。UNIは基準トークンであり------プールはそれを使用して総価値を推測する。プール内のUNIの数が急激に減少するにつれて、資産プールは現在、自身の評価を実際の価値の380分の1にしか相当しなくなった。したがって、新たに導入されるSushiの数も急激に減少し、これはDEFI5トークンを鋳造するために不可欠であった。この時点で、Medjedovicは3200ドル相当のSushiトークンを使って117.2万ドル相当のDEFI5トークンと交換することができた。しかし、彼がそのまま行動すれば、Indexedは問題を抱えることはなかった。Indexedプロトコルは、ユーザーがプール内で交換できる新しいトークンの数を制限していたため、彼はプールの価値の約1.5%しか引き出せなかった------取引手数料を考慮すると、彼にとっては利益にならなかった。
逆に、Medjedovicのスクリプトは別のフラッシュローンを取得した──240万ドル相当のSushiトークン。彼はこれらのトークンを資産プールに交換するのではなく、資産プールに寄付した------一見不合理に思えるが、Indexedのアルゴリズムが設計上考慮していなかった行動であった。この「寄付」は資産プールを崩壊させ、新しいトークンに対する通常の取引制限を回避した。これにより、Medjedovicは過大評価されたSushiトークンを過小評価されたDEFI5トークンと自由に交換し、その後、プール内の基礎資産に現金化し、残りは彼のポケットに入り、現在の価値は1190万ドルである。CC10資金プールへの攻撃は、総価値を1600万ドルに引き上げた。
Medjedovicは電子メールで、この攻撃の成功に驚いたと回想した。彼は書いた。「私は数回の試行でこれを達成しましたが、すぐにブロックチェーンの取引手数料を支払うお金がなくなりました。」
「絶対に印象的だ」とケラーは言った。「しかし、彼の才能は間違った場所で使われている。」
もしMedjedovicがトークンを返還することを考えていたとしても、彼はそれを長く考えなかっただろう。Indexedチームが彼の身元を確認した後、彼はTwitterに挑発的な詩を投稿した。「カエルがプールに飛び込み、クールさは能力次第。|カエルを煮て食べるために、彼らは必死に試みる。'そのお金をアービトラージするな'、彼らの叫びが天に響く。|しかしカエルは喜んでいる、神が彼のそばにいるから。」誰かが煽りのコメントを残した。誰かが王冠の絵文字を送った。さらに別の人が「私はこの男が大好きだ」と書いた。
彼に対して人種差別的な言葉や修辞を使って厳しく非難する人々もいた:Medjedovicがこの攻撃に使用したイーサリアムアドレスには数字「1488」が含まれており(新ナチスのスローガンの略語)、彼はコード内に黒人を侮辱する「黒X」という言葉を16回書いていた。














