DeFi

【BSC】PancakeBunnyハッキング事件!トークン価格が100分の1に暴落した原因を徹底調査。次回の対策に役立ててください!【DeFi】

今回は5月20日に起こったPancakeBunnyハッキング事件について解説をしていこうと思います。

まずは事件の内容の詳細を簡単に説明して、その事件がどうやって起こったのか原因調査の解説をしていきます。

PancakeBunny事件情報

基本的にはVaultsがメインとなっています。元々話題になっていて、ユーザーも多かったということもありTVLが非常に多く集まっていてので、狙われやすくなっていたと思われます。

事件直後、出金停止になっており、もしかしたら出金できていないだけなのかもしれませんが、現在の(5月23日時点)で$1,051,987,622のとなっています。

他のVaultsを知っている人からすると、この数字はかなり大きいことがわかります。

ちなみに、ハッキングと言われていますが、厳密に言うとハッキングではなく事故です。「Exploit(エクスプロイト)」などいろんな表現がありますが、分かりやすく言えば「事故」です。普通にコードに不備があったという感じです。

DeFiをやっていると、ハッキング・ラグ・エクスプロイトがごちゃ混ぜになって話をされることが多いので、この記事のタイトルにはあえて「ハッキング」と入れていますが、今回のPancakeBunnyの事件については、厳密にいうと、開発者のPCに入り込んだり、サーバーを乗っ取るようなハッキングではありません。

では何が原因で事件が起きたかというと、コントラクトが全て公開されているので「BscScan」というトランザクションを全て保存しているところに処理が全て残っており、その穴を突かれた。といった感じです。なので正直、ある程度の知識と技術があれば、やろうと思えば誰でもできます。

このように、最終的に今回は悪意を持った人が突いてきたことで起きた事件です。なので、知識・技術・資金力さえあれば誰でもやろうと思えばできるので厳密にいうとハッキングとは言えません。

チャートで解説

赤枠の部分が、5月20日のエクスプロイトによる下落になります。一瞬で$200から$3まで下落しました。

ただ、よく見てみると$147から$200まで一旦上昇していることがわかります。これもエクスプロイトの一部です。

現在、事件後と比べると徐々に回復はしていますが、仮想通貨全体でかなりの下落が起こっているので、その波にも巻き込まれているようです。

なので、この状況だとアルトコインも持ちにくいですし、特にBUNNYなどの大手取引所に上場していないようなトークンは持ちにくいと思います。となると、BTCやETHなどを押さえておきたいという人が多いので、やはり「買い」は伸びにくいです。

とは言え、下落直後に広げた人は十分に利益になっているという感じです。私自身も買おうか悩みましたが、ポートフォリオにこういったトークンをあまり入れておらず、レンディングして運用することが多く、DeFiの主要なトークンよりマイナーなトークンはあまり持たないようにしているので買うのをやめました。

ちなみに、下の画像はPancakeBunnyのTwitterで公開されたツイート文ですが、「現段階ではとりあえずVaultsは危険にさらされていない」「プロジェクト自体は問題ない」と書かれています。

また、今回の事件は簡単にいうと、BUNNYの価格を誰でも操作できてしまう状態だったため、その穴を突かれて起きた事件(エクスプロイト)だったということも記載されています。

そして、Vaultが危険にさらされたわけではないので、ユーザーの資産が吹き飛んだり吹き飛んだりといったことはないと、簡単ですが記載されています。

とは言えBUNNYが絡んでいるVaultは、BUNNYの価格がかなり落ちたことで被害は受けています。

ただ、詳しい人から見ればVaultの機能自体が事故を起こしたわけではないとわかるので、このときにBUNNYを買い増しした人もいるかと思います。

事件のより詳細な解説・原因調査

Pancake Bunnyの公式アナウンスが一番わかりやすかったので、翻訳した内容をもとに、重要な項目だけ抜粋して解説していきます。

項目1の内容

まず1の項目では、「エクスプローラーはPancakeSwap(PCS)で資金を確保し、フラッシュローン攻撃を実行しました(以下、「フラッシュ」と呼びますが、一連の流れは1回の取引で行われました)。」と記載されています。

ちなみにフラッシュローンは、いろんなところで出てくる用語ですが、簡単にいうと「借りて返す」というトランザクション処理を1回のトランザクションで行っているという意味です。

フラッシュローンで調べてもわかりにくかったりするので、アービトラージだと考えるといいです。

項目6の内容

6の項目では、「ステージ5で新たに作成されたBUNNY/BNBでは、BNB価値が約2,324,152BNBと算出され、結果として6,972,455BUNNYが発行されました。」と記載されています。

詳しく解説すると、ステージ5で新しく何か作成されていたときに、本来ならBNBの価値は1BNBのはずが計算のバグがあり、2,300,000BNBと計算されてしまった。そのため、一つのトークン価値が230万倍に跳ね上がってしまったという内容になります。

こうなると、BNB-BUNNYのペアを持っていた場合、BNBの価格が跳ね上がれば、その相方のBUNNYのトークン数量が増えます。そして数量が増えたときに売られることで攻撃者の利益となってしまうのです。

じゃあ、そもそもなぜ2,300,000BNBまで跳ね上がるようなことが起きたのか?

その理由は別のページに記載されています。

参考ページURL (9項目目になります)
https://slowmist.medium.com/slowmist-pancakebunny-hack-analysis-4a708e284693

項目9の内容

9の項目では、「valueOfAssetの計算では,WBNB-BUNNYプールのWBNBのリアルタイム数を2倍してWBNB-BUNNYのLPの総数で割ったものを使って,1枚のLPの価値を計算しています(valueInBNB)。しかし、ステップ7以降では,WBNB-BUNNYプールのWBNBの予想外の量が大幅に増加していることがわかり,1枚のLPの価値を計算する際にBNBに対して非常に高い価格になっています。」と記載されています。

こちらも詳しく解説すると、「Value Of Asset」というプログラムの関数があり、この「Value Of Asset」はWBNB-BUNNYプール内のWBNBのリアルタイム数に、まず2をかけます。その後、総量で割って単一のLPの値を計算します。

この事件が起こった時、攻撃者はWBNB-BUNNY LPの中に、BNBを大量に突っ込むように攻撃を仕掛けていました。

この状態で、リアルタイム数に2をかけ、出た数に対してLPの総量で割ることで、BNBの価格がおかしくなってしまい、また、これによって単一のLPの値を計算するときにBNBに比べて非常に高くなるということが起こりました。

そして今回、WBNB-BUNNY LPの計算方法がおかしかった関係で、BNBの価格が急上昇し、BUNNYのトークン数量が勝手に増やされて、そのタイミングで売られて攻撃者の利益になってしまったという事件が起こりました。

なので見方としては、BUNNYトークンが一方的に売られてしまったという感じです。その関係でBUNNYがとてつもなく下がりました。

結果論ではありますが、もし本当に公式アナウンスが発表している内容通りで事件が起きたならば、こんな簡単にできてしまう、事件が起きてしまうものかな?という気もします。

今後のBUNNYと補填の話

トークン価格に関して

私個人の予想としては、割とすぐに回復するんじゃないかなあと思っています。

なぜかというと、BUNNYトークンの価格が下げられただけの話であって、他のValueなどの機能は普通に使えますし、ということはValueの売り上げもそのまま使えるはずと思っています。

それに、今回のエクスプロイトを受けてBUNNYが何も対策をしないわけがないですし、Buyback/Burnなど、売り上げの中から出していくんだろうなという気はしています。ユーザーも多くTVLも非常にたくさん集まっているので問題ないと見ています。

とは言え、今現在仮想通貨の相場全体が下落しているので、その影響を受けてなかなか戻りにくいという思いがけない壁が現れてはいます。

補填に関して

「Go Forward Plan」というタイトルで発表されています。mediumに出ているので、補填の内容が気になる方は下のリンクから直接確認した方がいいかと思います。

補填に関して

補填の内容を大まかに解説すると、pBUNNYというトークンをエクスプロイトの前のスナップショット、トークンホルダーに対して行います。とい言うふうに記載されています。

そして、成功報酬についても記載されているのですが、pBUNNYを持っている人の補填をするために新しい報酬プールを作りますと記載されています。その報酬プールの資金源というのはVaultの成功報酬です。なのでPancakebunnyの利益から出す、という感じです。

個人的には、ここらへんの補填の仕方やトラブルに対する姿勢が良いな。と思っています。それに対応が早いというのも評価できます。

ちなみに、pBUNNYのAirdropなどが既にPancakebunnyのプールのページ表示されているので、まだ気付いていない人がいたら早めに確認してみてください。

注意喚起

ハッカーになろう!

DeFiのジャンルは全てSmartcontractというものでコードが公開されています。コードが公開されているということは、詳しい人間が見れば、いつでもハッキングできる状態(今回の場合で言うとエクスプロイトができる状態)です。

そんな中で私たちは自己防衛していかないといけません。なので、自分たちがアタッカー側だったらどう考えるかな?と言うことを頭に入れて動いていかないといけません。

自分たちでセキュリティーの穴を見つければ、そのプロジェクトを使わなければ良いだけの話なので、気づいたときには、できれば周りの人にも発信して教えてもらえたらと思います。

規制のない世界では自衛するしかない

DeFiでは誰も守ってくれません。今回の場合で言うと補填案は出ましたが、実際これまでは補填がないことがたくさんありましたし、そもそも運営が持ち逃げしているパターンもあったので自衛するしかありません。

なので、100%人に頼りっきりにならずに、自分でも守ることができるようになれば被害に遭うことも防げると思います。

信頼しすぎない

監査や提携先があるからといって信用しすぎないことが大切です。

監査団体のTechrateなど、そもそも信用性があるのかどうかも怪しいです。監査があるからといって飛ばないわけではないですし、セキュリティーホールがあるわけでもないです。

また、提携先が大きいからといって飛ばないわけでもありません。そう言ったところを肝に命じておきましょう。

まとめ

今回の事件を振り返ると、エクスプロイトの原因は、PancakeBunny価格の評価の部分に不具合があり、そこを突かれてBUNNYが一方的に売られたという内容でした。

自分たちで穴を見つけて何かしら対策ができたら被害に遭うことを防げますが、意外と信頼しきっちゃている人も多いので、今後こういった経験を通して各自賢くなっていって自分で穴を発見できるようになるしかないんじゃないかなあと思っています。

今回の事件はいいお勉強だったと思って、これからの仮想通貨の運用に役立ててもらえたらと思います。

最後まで読んでいただきありがとうございました。

ABOUT ME
みかん
みかん
みかん(3mikan)です。 トークン/DEX開発経験があり、主に仮想通貨・DeFiについて情報発信しています! お仕事のご依頼やご相談はテレグラムの個人DMから、ご質問がある場合にはテレグラムのグループにてお願いします。