[CODE BLUE 2019]CoinbaseとFirefoxの0-day[レポート] #codeblue_jp

CODE BLUE 2019「CoinbaseとFirefoxの0-day」についての参加レポートです。非常に巧妙な0day攻撃が以下に行われ、そして被害なく対応したcoinbaseがどのように体制を整備していたか、ものスゴいセッションでした!
2019.10.30

こんにちは、臼田です。

『世界トップクラスのセキュリティ専門家による日本発の情報セキュリティ国際会議』でありますCODE BLUE 2019に参加していますのでレポートします。

このブログは下記セッションについてのレポートです。

CoinbaseとFirefoxの0-day  Presented by フィリップ・マーチン

2019年6月17日、コインベースは、同社の従業員を狙い2つのFirefox 0dayを利用する攻撃者の試みを検知し、ブロックした。暗号通貨業界は、このような複雑巧妙化した攻撃が続くことを予測しなければならない。そこで、優れた防御姿勢を持ったインフラを構築し、私たちが確認している攻撃の情報をお互いに共有して連携することで自らを守り、暗号通貨経済を支持することができる。そこで本発表では、0 day 攻撃、コインベースが検知し対応した方法、将来このような種類の攻撃に対し周到に準備する方法について、コインベース社の情報セキュリティ最高責任者(CISO)フィリップ・マーティン氏が深く解説する。

レポート

攻撃の概要

  • 約200人の個人を狙った
    • 十数社の暗号通貨をターゲットとした
    • ほぼ暗号通貨事業の役員クラス(例外もいたが)
  • これらの個人情報にはソーシャルエンジニアリングが使われた
    • Firefoxの0dayをみつけた
    • おそらく攻撃は2015年ぐらいから検討されていた
    • 約6回の攻撃が行われたと思われる
  • いろいろな攻撃があったが順序は推測したものなので本当にそうだったかはわからない

偵察

  • これはcoinbaseの外側で行われた
  • 約200人をリストアップして個人的なメールアドレスをあげた
  • 企業メールではないので会社で対策できない
  • 非常に精度の高いリストであった
  • どのような形でリサーチを行ったのか
    • おそらくLinkedinやFacebookを使ったのではないか
    • そこからデータをダンプしたりしてメールアドレスを収集したと考えられる
    • いつの段階から準備したかはわからない

情報の武器化

  • 次の段階
  • 情報を武器化していく
  • 2つのことが行われた
    • フィッシングを送り込む手段を獲得する
    • エクスプロイトを書く
  • 巧妙に行われて検知が難しかった
  • フィッシングの送り込みがケンブリッジ大学から行われた
    • 正当なドメインを利用していた
    • 正当なトピックも利用していた
  • この情報を買ったのか自分たちで作ったのかはわからないが精度がとても高かった

0dayの準備

  • 2つの0dayが使われた
  • 1つめの0day
    • JET compilerを送り込む
    • ブラウザのプロセスに直接入り込む
  • 2つめの0dayでsandboxエスケープ
    • これでホストまでアクセスできる
  • 非常に安定したエクスプロイトになっていた
    • よく準備されていた
  • 攻撃者は独自に0dayを見つけた可能性がある
  • 2つめの方はかつて使われたことがないもの
  • これは長年availableだったと考えられる
  • 攻撃者が武器化したのは2週間くらいで行ったと考えられる
  • スキルも高く、意図をもって行っていたと思う
  • 攻撃者は資金を持っていてエクスプロイトに注力したチームから購入した可能性もある

仕込み

  • リストを作ってケンブリッジ大学のサイトを掌握してエクスプロイトが用意できた
    • 準備はできた
    • 送り込みを開始する
  • ソーシャルエンジニアリングキャンペーンが行われた
    • 200人を意図的に選んでいるのは一般的ではない
  • スピアフィッシングがどのようなものだったか
    • アダムズショー等実際にあるケンブリッジ大学のショーについてのメール
    • 最初のリンクはエクスプロイトがない、情報ページへのリンク
    • このリンクが面白い
    • ケンブリッジ大学のacドメインを使った個人のサイト
      • 個人がホスティングできるようになっているのでこの仕組が使われた
  • 関心がある返事をした場合に個人から送られたようなメールが送られた
    • 0dayを送るに値した5人に最終メールが飛んだ
    • そのURLもケンブリッジ大学のアドレス
    • しかし内容に変更があった
    • javascriptが入っていた
      • FirefoxとMacの利用を狙っていた
      • 別ブラウザの場合サイトに繋いでもブラウザがサポートされていないというメッセージを出した
    • 実際の被害者はChromeでそのページを見てFirefoxへ誘導された
      • なぜ被害者がFirefoxをダウンロードしたか、学校からのメールだと思ったから
  • その時のコードは東ヨーロッパに置かれていた

ステージング

  • ステージングされた
  • まずは偵察が行われた
  • クレデンシャルや鍵の情報が抜かれた
  • 少し期間があった
  • コントローラーにつながった段階で次に行くか判断されたと思われる
  • RATが仕込まれた

攻撃

  • 実際に攻撃者が何をしたか
  • あまりわかってはないない
  • エクスプロイトされた後20分ぐらいで対応はできた
    • 長い時間検知されなかったらどうなったかはわからない
    • 最終的に暗号通貨を盗もうとしていたはずなので、その情報を探ろうとしていたとは思う
  • 最初の攻撃は楽観的だった
  • 次はセッショントークンやパスワードに興味を示した
  • その後Gmail等クラウドサービスに展開したい動きをしていた
  • SaaSのアプリケーションにアクセスしにいくことはそんなに多くはない

アタッカーについて

  • 2016年ぐらいから活動していると考えられる
    • まだ未確認の名前のないものだった
    • それほど注目されていなかった
    • ポーランド語では報告されているが英語のものはない
  • コインチェックに入り込んだのと同じグループだと考えられる
    • 相当のオーバーラップがあった
  • 少なくとも0dayについては5,6個送り込んでいた
  • 相当経験や資金があったと考えられる

対応と教訓

  • このような能力を持った攻撃者にどう対応するか
    • 可視性は大事
    • 攻撃は20分で対応が行われた
    • 相当注力していたので検知できた
    • 見えないと何も出来ない
  • アラートの精度が重要
    • アラートが増えすぎると信頼できなくなる
    • アナリストエンジニアが受けるアラートは精度が高く行動に移せるものである必要がある
  • 検知まで20分でその後すぐに対応するのも大事
  • 練習を繰り返すことが大事
    • 適切なプレイブックを作りひたすら練習を繰り返す
    • 社内では酔っ払っていたら対応できないだろうと常に言っている
    • 常に対応できる体制に
    • 常に練習して筋肉をつけることが大事
    • ツールもわかっていてメンバーも信頼している状態である必要がある
  • 暗号通貨などアクセスが相当ある場合には0dayは来るものと考えないといけない
    • 脅威モデルに0dayをいれる
    • 最初にパンチを受けることは覚悟する
    • それに対して適切な対応をすることが必要

感想

非常に巧妙な攻撃であったことにも驚かされますが、それ以上に0dayの対応が20分で行われたことも非常にスゴい話でした。

実際にこのようなことがあった場合にそこまで迅速に対応できるか、いつもの誤アラートじゃなかと第一報がスルーされないか、普段の自分たちの体制を考えさせられますね。

精度の高いアラート、適切なプレイブック、繰り返し練習された対応、非常に重要な情報を扱う会社として素晴らしい体制が出来ているcoinbaseを見習って行きたいですね!