こんにちは!ニナ(@_ninahaus_)🦆です。
3月15日、Crypto界隈の有名DeFiプラットフォーム、C.R.E.A.M. FinanceとPancakeSwapがDNSハイジャックにあいました。それぞれMediumにレポートを上げていたので紹介します。
※現在、問題は解決されています。
- C.R.E.A.M.Finance (CREAM)とは?
- C.R.E.A.M. Financeの報告
- 導入
- 何が起こったか?
- タイムライン
- 3/15 19:30 (12:30) C.R.E.A.M. サイトダウン
- 3/15 19:34 (12:34) 運営、DNSサーバーレコードチェック
- 3/15 19:35 (12:35) フィッシングページの検知
- 3/15 19:43 (12:43) DNSキャッシュ汚染の検知
- 3/15 20:23 (13:23) ログイン認証情報の漏洩
- 3/15 20:45 (13:45) 他サイトにリンク削除依頼
- 3/15 20:55 (13:55) 運営、作戦会議
- 3/15 21:10 (14:10) DNSハックをツイート
- 3/15 22:27 (15:27) PancakeSwapサイトダウン
- 3/15 23:00 (16:00) バックアップサイトを準備
- 3/16 00:49 (3/15 17:49) ドメイン所有権を掌握
- 3/16 01:48 (3/15 18:48) DNS汚染の浄化
- 3/16 02:26 (3/15 19:26) 完全復旧
- ユーザーへの影響
- Cream-finance.eth.link
- 調査の進捗状況
- 最後に
C.R.E.A.M.Finance (CREAM)とは?
本項目の内容はCoinmarketcapからの抜粋です。https://coinmarketcap.com/ja/currencies/cream-finance/
C.R.E.A.M Financeは、デジタル資産の貸付、借入れ、スワップ、支払い、トークン化サービスを提供する分散型ピアツーピア(P2P)DeFiプラットフォームです。C.R.E.A.M. Financeプロトコルは、Compound Financeのフォークとして設計されました。一方、C.R.E.A.M. SWAP取引所はBalancer Labsのコードに基づいています。
<中略>
プロジェクトは「Crypto Runs Everything Around Me」(=仮想通貨は私の周りにあるもの全てを動かす)の略で、2020年8月3日にYOLO流動性プールを通じてEthereumネットワーク上で予期せずローンチされました。2020 年9月には、Binance (BSC)スマートチェーン上で生公開されました。
<後略>
C.R.E.A.M.Financeの創設者は?
C.R.E.A.M.Financeの背後にいる人物は台湾の起業家Jeffrey Huang氏で、ローンチ時に「CREAMの半慈悲深い独裁者」と自称した。Huang氏はさらに、EthereumベースのソーシャルメディアプラットフォームであるMithril(MITH)の創設者でもあります。
C.R.E.A.M. Financeの報告
C.R.E.A.M. FinanceがMediumに記事を出したのは3月17日です。
タイトルは『DNSハイジャックの事後報告』。
1/ 🙌To our community~ we wanted to update you on the recent DNS hijack and let you know that all users funds are safe as there are no issues with our smart contract.
— Cream Finance 🍦 (@CreamdotFinance) March 17, 2021
以降は英語原文の記事を簡単に和意訳しつつ、補足も加えたものです。私自身はC.R.E.A.M.ユーザーではないため、ほぼほぼ公式記事のさらっとした翻訳となっています。
導入
C.R.E.A.Mコミュニティの皆さん、こんにちは。
まず最初に、我々がDNSハイジャック問題の解決に取り組んでいる間サポートして下さったコミュニティの皆様に感謝します。すべての資産は安全であり、我々はDNSの管理を取り戻したことを保証します。コミュニティおよびパートナーの皆様のサポートが無ければこれは成し遂げられませんでした。可能な限り透明性を保つため、具体的に何が起こったのかを説明します。
何が起こったか?
3月15日、C.R.E.A.M.がDNSハイジャックに遭いました。当社のGoDaddyアカウントが侵害され、ユーザーはフィッシングページにリダイレクトされました。
この危機に迅速に対処し、数時間後にはドメインの所有権を取り戻しました。
タイムライン
原文の台北時間(UTC +8)の後ろに本ブログ時間軸のCET(UTC +1)をカッコ付きで表記しています。
3/15 19:30 (12:30) C.R.E.A.M. サイトダウン
ウェブサイトがダウン、ユーザーからウェブサイトの停止が報告された。
3/15 19:34 (12:34) 運営、DNSサーバーレコードチェック
本時刻のGoDaddy DNSのCNAMEレコードがC.R.E.A.M.のホスティングIPを指していない。これはウェブサイトの停止現象を裏付けるもの。
3/15 19:35 (12:35) フィッシングページの検知
DNSのAレコードを正しいIPに更新し、根本原因の分析を開始。この際C.R.E.A.M.運営はフィッシングページに初めて気付いた。
3/15 19:43 (12:43) DNSキャッシュ汚染の検知
ユーザーからの報告でDNSキャッシュの汚染に気付いた。CloudflareへのDNS移行を開始。
3/15 20:23 (13:23) ログイン認証情報の漏洩
GoDaddy のログイン認証情報が漏洩していることが判明。C.R.E.A.M.運営がログインできなくなった。
3/15 20:45 (13:45) 他サイトにリンク削除依頼
GoDaddyアカウントへのアクセスを回復を試みると同時に、CoinGecko、CoinMarketCap、imTokenの友人に連絡を取りウェブサイトのリンクを更新。警告メッセージを表示するようにした。
3/15 20:55 (13:55) 運営、作戦会議
Telegram上に会議室を設置し、ユーザーの資金を安全に保持しながらDNSを復旧させる方法について話し合った。
3/15 21:10 (14:10) DNSハックをツイート
Twitterでドメインが乗っ取られたことを発表。ユーザーにシードフレーズを提供しないよう警告。
Our DNS has been compromised by a third party; some users are seeing requests for seed phrase on https://t.co/Hr6S4Fqodo. DO NOT enter your seed phrase.
We will never ask you to submit any private key or seed phrases.
— Cream Finance 🍦 (@CreamdotFinance) March 15, 2021
3/15 22:27 (15:27) PancakeSwapサイトダウン
PancakeSwapがPancakeSwapウェブサイトのダウンについてツイート。C.R.E.A.M.と同状況に陥っている可能性を示唆。
3/15 23:00 (16:00) バックアップサイトを準備
ユーザーがC.R.E.A.M. Financeを使い続けられるよう、2つの代替サイトを用意。
3/16 00:49 (3/15 17:49) ドメイン所有権を掌握
GoDaddyの助けを借りてドメインの所有権を取り戻した。サービスの復旧とセキュリティの確保に着手。
3/16 01:48 (3/15 18:48) DNS汚染の浄化
ウェブサイトが正常復帰。DNSの伝搬は続いているため一部地域ではまだハイジャックの影響が残っている状態。
3/16 02:26 (3/15 19:26) 完全復旧
ドメインの所有権を取り戻したことをTwitterで発表。
ユーザーへの影響
C.R.E.A.M.のスマートコントラクトはDNSハイジャックを受けてもユーザーの資金とともに安全に保たれています。DNSハイジャックはウェブサイトにのみ影響を与え、当社のコントラクトとは関係ありません。C.R.E.A.M. Financeのユーザーの資金は、本件を通しSAFUでした。
AzeemとArmor.Fiチーム、CoinGecko、CoinMarketCap、dudesahn、imToken、Jimmy (Binance)、johnnykrammer、nymmrx、PancakeSwap、Tempo (Perpetual Protocol)、YAP Globalなど、今回の事件から素早く回復するために迅速に対応してくれた友人たちに感謝したいと思います。
Cream-finance.eth.link
フロントエンドをIPFS上にdeployしました。IPFSに分散型フロントエンドを配置することで、ユーザーが当社のサービスにアクセスできることを保証できます。また、GoDaddyとは異なり、C.R.E.A.M.運営がENSレコードを完全にコントロールすることができ、将来的に今回のような攻撃を防ぐことができます。
調査の進捗状況
サービスを復旧させた後、攻撃者がどのようにしてDNSハイジャックを実行したか調査しました。
- C.R.E.A.M.運営はGoogle SSOを使用してGoDaddyアカウントにアクセスしていた。
その際、ユーザー名やパスワードは使用していなかった。Google SSO(Google シングルサインオン)とは
SSOを利用すると、ユーザーは一度ログインするだけで、すべての企業向けクラウド アプリケーションにアクセスできるようになります。SSO が設定されている場合、ユーザーはサードパーティの IdP にログインすれば、2 回目のログインなしで Google アプリに直接アクセスできます。
https://support.google.com/a/answer/60224?hl=jaニナこれだけ読むとセキュアなサインイン方法じゃなさそうだけど、そのへんどうなんだろう? - アクティビティログによれば、C.R.E.A.M.のGoogleアカウントは侵害されていない。
- GoDaddyアクティビティログによれば最初の異常動作は「攻撃者のメールアドレスにパスワードリセット要求が送信されたこと」。
しかし、C.R.E.A.M.メールアドレスが攻撃者のメールアドレスに変更された記録はなかった。ニナメールアドレス変更ログが残っていないのにパスワードリセットが「攻撃者のメールアドレス」に送られるのは怖い… - シナリオを再現してみたところ、GoogleアカウントでGoDaddyにサインインしてメールアドレスを変更すればメールアドレス変更の記録が残ることがわかった。しかし、これは今回のDNSハイジャックでC.R.E.A.M.運営が経験したことと異なる。
- GoDaddyのアクティビティログの一部にしかアクセスできない。
すべてのログにアクセスしようとすると予期せぬエラーが表示される。ニナC.R.E.A.M.は今回GoDaddyの助けを借りて復旧しているので既にコンタクトはあるはず。早くフルログを手に入れて解析してほしい。 - PancakeSwapもGoDaddyを利用しており、互いのアクティビティログで同じ攻撃者IPであることを確認した。
追加の発見がありましたら、この記事を更新していきます。
最後に
C.R.E.A.M.が秘密鍵やシードフレーズの提供を求めることは絶対にありません。
皆さんのC.R.E.A.M.コミュニティへの参加に感謝を。
