監査報告書
IOActiveからの監査報告
調査結果と対応状況
ID | タイトル | 総合的なリスク | 状況 |
---|---|---|---|
MP-07 | Rings - 借入返済のトランザクションの変更後に失敗する可能性がある|高|修正済み| | ||
MP-06 | 一般 - 複数の脆弱性を持つ古いWebサーバ | 高 | 修正済み |
MP-01 | 証明書のピンニングの欠如 | 中 | |
MP-02 | 不十分な JailBreak 検出 | 中 | |
MP-03 | アプリのトランスポート・セキュリティの無効化 | 低 | |
MP-04 | バイナリにおけるRPATHの設定 | 低 | |
MP-05 | バイナリユーザーのセキュリティの脆弱なAPI | 低 |
問題の分析
**MP-07: Rings -借入返済のトランザクションの変更後に失敗する可能性がある **
この問題は、Payee.handleRepayEvent()
の誤ったロジックに起因します。詳細はIOActive監査報告書(p3~p8)をお読みください。
MP-07: General - 複数の脆弱性を持つ古いWebサーバ
この問題は、API エンドポイントを提供する古い Web サーバーに起因しています。詳細は IOActive 監査報告書 (p3 から p8) を参照してください。
MP-01: 証明書のピンニングの欠如
これはMixin Messenger iOSに関連する問題です。
現在、ほとんどのアプリケーションは、オペレーティングシステムが維持する証明書に完全に依存し、どの証明書を信頼するか判断しません。オペレーティングシステムの信頼ストレージを破ったり、ルートCAをハッキングしたりする攻撃者は、アプリケーションとサーバーで送信されるデータをキャプチャすることができます。
MixinチームとPandoチームは、ユーザーのローカルオペレーティングシステムとルートCAの安全性を保証をする責任はありません。Mixinチームと協議した結果、現時点ではこの問題はひとまず無視することにしました。
MP-02:不十分な JailBreak検出
これはMixin Messenger iOSに関連する問題です。
Mixinチームは、ユーザーのローカルオペレーティングシステムの安全性を保証をする責任はないため、現時点ではこの問題を無視することにしました。
MP-03: アプリのトランスポート・セキュリティの無効化
これはMixin Messenger iOSに関連する問題です。
レポートでは、WebViewからのリクエストに対してATSが無効されていると記載されています。これはアプリの欠陥ではありません。ユーザーはWebViewを使用してHTTPのWebページにアクセスすることは許可されています。
MP-04: バイナリにおけるRPATHの設定
この問題は非常に悪用が難しいため、Mixinチームは現時点ではこの問題を無視することにしました。
MP-05: バイナリユーザーのセキュリティの脆弱なAPI
この問題は非常に悪用が難しいため、Mixinチームは現時点ではこの問題を無視することにしました
LeastAuthorityからの監査報告書
調査結果と対応状況
ID | タイトル | 状況 |
---|---|---|
A | 共有MTGキーの侵害に対応するための手段がない | 修正しない |
B | セキュリティロードマップが存在しない | 修正しない |
C | プロトコルの仕様が存在しない | |
D | シークレットが共有され、平文で永続化される | 修正しない |
E | 認証されていない暗号化モードの使用 | 修正しない |
F | PKCS#7パディングの追加又は削除時に入力チェックが行われていない | 修正しない |
G | 過剰な中央集権化 |
調査結果への回答
調査結果 A: 共有MTGキーの侵害に対応するための手段がない
はじめに、共有キーの目的は、メモを暗号化することです。以前のバージョンでは、Pando LeafとRingsはuser_id
をメモに入れ、共有キーを使用して暗号化していました。
しかし、ユーザーのプライバシーをより保護するために、Mixin Networkをアップグレードし、user_id
を直接UTXOに追加しました。したがって、Pandoはすでにメモから user_id
を削除しており、メモに機密情報は含まれていません。
プロトコルのより互換性のあるものにするために、暗号化されたメモのサポートを維持していますが、メモに平文を使用して暗号化せずそのまま残すことも問題ありません。つまり、共有キーはもはや重要ではありません。
調査結果 B: セキュリティロードマップが存在しない
実際には、セキュリティ関連の計画を含むロードマップがあります。将来的には、ロードマップを更新する予定です。
調査結果 C: プロトコルの仕様が存在しない
すでに一部のプロトコルの使用を提供しています。[こちら]https://docs.pando.im/developer/intro をご確認ください。
調査結果 D: シークレットが共有され、平文で永続化される
シークレットの管理方法と、デプロイメント環境のセキュリティ確保は独自の方法があります。
調査結果 E: 認証されていない暗号化モードの使用
メモの暗号化にはAES-CBCを使用しています。AES-GCMに切り替える方が良いですが、 調査結果 Aの説明のため、Pandoはこの問題を無視することにしました。
調査結果 F: PKCS #7パディングの追加または削除時の入力チェックが行われていない
上記と同様です。
調査結果 G: 過剰な中央集権化
はい、現在、MTGに新しいメンバーを追加することや既存のメンバーを削除することはできません。 MTGメンバーの追加と削除を可能にする新しいガバナンスシステムを構築中です。新しいガバナンスシステムは今後リリースされる予定です。
以上がIOActiveとLeastAuthorityからの監査報告書に関する概要です。詳細な内容については報告書原文を参照してください。