2 ポイント 投稿者 GN⁺ 2024-12-12 | 1件のコメント | WhatsAppで共有
  • X41はソースコードへのアクセスを含むホワイトボックス侵入テストでMullvad VPNアプリを検証し、軽量な脅威モデルもあわせて策定
  • 監査対象はAndroid 2024.8-beta1、iOS 2024.8、Desktop 2024.6のコードで、Linux、Windows、macOS、Android、iOSの5プラットフォームでの動作を前提としている
  • テストでは6件の脆弱性が発見されたが、Mullvad VPNアプリは報告書の脅威モデル基準で全体的に高いセキュリティ水準を示した
  • 最も深刻な問題は、シグナルハンドラの競合状態と時間的安全性違反によるメモリ破損だが、攻撃者が先に別の欠陥でシグナルを発生させる必要があるため深刻度は下がる
  • 一部の脆弱性は、隣接ネットワーク上の攻撃者によるユーザー識別情報の漏えいや、特定条件下でのサイドチャネル攻撃につながる可能性があったが、Mullvad VPN ABは修正を迅速に反映した

監査範囲と対象の特性

  • X41はMullvad VPNアプリケーションを対象にホワイトボックス侵入テストを実施
    • ソースコードへのアクセスがあり、軽量な脅威モデルの策定も含まれていた
  • 監査対象のソースコードは以下のバージョン
  • 対象アプリは大規模で5つのプラットフォームで動作するため、監査の難度が高い
    • 対応プラットフォームはLinux、Windows、macOS、Android、iOS
    • Mullvad VPNは定期的に監査を実施しており、既存コードで新たな脆弱性が見つかったことは、製品の複雑性を踏まえて継続的なセキュリティレビューが必要であることを示している
  • 成熟した対象では、発見事項がアプリケーション開発チームの直接的な管理や焦点の外にある領域へ移る傾向がある
    • OSの動作特性
    • 異なるネットワーク層とプロトコルの相互作用

発見結果とセキュリティ評価

  • X41のテストでは合計6件の脆弱性が発見された
  • Mullvad VPNアプリケーションは、報告書の脅威モデル基準で高いセキュリティ水準を示した
    • 安全なコーディングおよび設計パターン
    • 定期監査と侵入テスト
    • 強化された実行環境
  • 最も深刻な脆弱性は、シグナルハンドラコードの競合状態と時間的安全性違反によるメモリ破損
    • シグナルハンドラコードがいったんトリガーされると、悪用可能性は低くないとみられる
    • ただし、攻撃者は先に別の欠陥を使ってシグナルを発生させる必要があるため、全体的な深刻度は下がる
  • 他の脆弱性は、隣接ネットワーク上の攻撃者がユーザーの身元情報を漏えいさせたり、特定条件下でクライアントが現在アクセスしているサイトを明らかにするサイドチャネル攻撃を可能にするおそれがある
    • サイドチャネル攻撃の大半は緩和されている
    • 例外は、NATや最新HTTPプロトコルの変種のように複数技術の組み合わせから生じるプロトコルレベルの攻撃で、これはMullvad VPN ABの制御範囲外にある
    • より高いセキュリティとプライバシーが必要なユーザーは、保護されたVPN内部の難読化技術やプロキシサービスを選択肢にできる
  • Mullvad VPN ABは発見事項を迅速に修正し、修正も正常に機能することが監査で確認された

公開資料

1件のコメント

 
GN⁺ 2024-12-12
Hacker News の意見
  • PDF レポートへの直接リンク: https://x41-dsec.de/static/reports/X41-Mullvad-Audit-Public-...
    発見された問題のタイトルは、シグナルハンドラ用代替スタックの不足、非同期安全でない関数の使用、トンネルデバイスの仮想 IP アドレス漏えい、NAT による匿名性解除、MTU による匿名性解除、インストール過程でのサイドローディングなど
    全体的にはかなり直感的な内容で、DAITA(AI トラフィック分析防御)にかなり依存している。まだ完全には理解できていないが、さらに読む価値はありそう: https://mullvad.net/en/vpn/daita
    • 安全なシグナル処理には落とし穴が多すぎて、API 全体を考え直す価値がある
      OpenSSH でさえ関連する問題があり https://blog.qualys.com/vulnerabilities-threat-research/2024...、明示的な関数カラーリング(function coloring)メカニズムなしでは、どの言語でも良い抽象化を作るのは難しそう
      Haskell のような純粋関数型言語なら可能かもしれない
    • 論文のほうが追いやすいように思う: https://dl.acm.org/doi/pdf/10.1145/3603216.3624953
    • スタックが小さすぎるという点は、8KB の割り当てが実際に不足しているという証明がなく、本当に悪用可能なのかも疑問
      非同期安全でない関数の使用はよくある問題だが、実際の悪用は難しく、シグナルハンドラを扱ったことのある開発者なら、再現が極めて難しいタイミング問題のせいで一度はやってしまうミス
      ARP アドレス漏えいは Mullvad 自体の問題というよりローカルネットワークでのみ悪用可能で、匿名性解除攻撃はすべての VPN に当てはまり、さらに匿名化することはできるがコストがかかる
      サイドローディングはおそらく最も悪い問題だが、単独では悪用されない
  • 公開監査レポートが「この会社は非常に安全でうまくやっており、今回の監査がそれを確認した」といったことを書く点について短く文句を言おうと思ったが、これは X41 だけの問題ではなく、ほぼすべての評価会社がやっていることで、中には X41 よりはるかにひどいところもある
    ただし、Rust プログラムのヒープ破損脆弱性を実際に引き起こせる形で見つけたのは良い発見
    とはいえ、その次の脆弱性に高い深刻度を付けたのは理論的で、概念実証もなさそうで、メモリ破損でもないため、レーティングのインフレに見える
  • 良い監査レポート
    独立した脅威モデルセクションは、多くの監査会社がレポートで省略する部分
    Cure53、Assured、Atredis のような以前の監査者たちも、Mullvad と事前に適切な脅威モデルを立てていたはずだと確信しているが、読者に明示されていないと結果を誤解する余地が生まれる
    • 「Mullvad と事前に適切な脅威モデルを立てた」のなら、むしろ無意味になるのではないかと思う
      対象が監査や攻撃方法に発言権を持つと、結果が対象に有利に偏らないようにするのは難しい
      最もバイアスが少ない方法は、監査者が何をするのかを対象がまったく知らないことではないかと思う
      Mullvad が方法に関与したりテスト範囲を制限したりしたのなら、結果には結局価値がない
  • Mullvad ブログ記事へのリンク: https://mullvad.net/en/blog/the-report-for-the-2024-security...
  • これは Mullvad VPN アプリに対する監査であり、サービス自体に対する監査ではない
  • Mullvad は以前は素晴らしかったが、ポートフォワーディング廃止のせいでトレントがかなり悪くなった
    OpenVPN サポート終了も自分にはあまり良くなく、それが必要なユースケースがいくつかあるので他へ移る予定
    長年よくやってきたところなので残念
    • 妥当な基準で見れば、今でも素晴らしい
      ポートフォワーディングの廃止は、対処すべき悪用を大きく減らし、ごく少数の超 nerd なユーザーにしか影響しない
    • そうなってからどれくらい経ったのか気になる
      Mullvad でトレントをしばらく使ってきて、シードが少ないトレントはときどき開始まで長くかかるが、最終的には取得できる
      もっとマイナーなメディアは、数日前から考えておく必要があることもある
    • ポートフォワーディング廃止のせいで Mullvad を惜しみつつも、他へ移らざるを得なかった
    • OpenVPN をやめる理由が分からない
      正直、OpenVPN 非対応のプロバイダーはそもそも検討しないと思うし、それなら何の意味があるのかと思う
    • OpenVPN をやめるとは残念だが、それでも少なくとも 1 年は残っている
      なぜか自分のルーターでは、サイト間 VPNとしてはずっとよく動き、安定している
  • タイトルは「X41 が Mullvad VPN アプリを監査した」のほうが明確に見える
  • OpenBSD で WireGuard により Mullvad VPN を使っている(man wg
    よく動いており、匿名性のために Bitcoin で月単位の購入も可能
    • Bitcoin は匿名ではない
      何か誤解しているのでは?
    • 自分の名前の、何年も使っているクレジットカードで VPN 料金を払っている
      ときどき VPN を使っているという事実を隠したいわけではなく、ISP はトンネルを見て、訪問先のウェブサイトは VPN IP を見て、NetFlow には時刻、期間、転送量などが残る
      VPN の使用自体は秘密ではない
      ほとんどの VPN ユーザーは自分のように、オンライン広告会社やデータ収集会社からのプライバシーを求める普通の人だと思う

VPNプロバイダーからのプライバシーは望んでも期待してもいない
どうせ自分名義のアカウントの家庭用ISPのIPから、そのVPNサービスに接続するのだから
VPNの支払いをどう隠しても、彼らにはあなたが誰なのか分かることになる
技術者、特にセキュリティ系の人たちは、こういう問題で行き過ぎて非現実的になりがちで、現実の脅威モデルやユースケースから離れているように感じる
James Mickensの短い文章「This World of Ours」がこのテーマをうまく扱っている: https://www.usenix.org/system/files/1401_08-12_mickens.pdf

  • 中国を訪れたときにMullvadのファンになった
    試したVPNアプリの中で最も安定していて、1アカウントあたり最大5台のデバイスまで使える
  • BTCで買ったとしても、結局は実際のIPで接続するのでは?
  • BTCの匿名性という錯覚はさておき、それが重要なのかどうか疑問
    主張どおりログを保存していないなら、あなたについて何を知っていようと、警察が尋ねているIPは数千人の顧客の誰が使っていた可能性もあるので、望んでも当局に渡せない
    何か見落としているのだろうか?
  • 最近のVPNはいい商売だが、顧客をきちんと扱っているとか、自分たちが提供しているものを透明に示しているという感じはしない
    かなり多くのたわごとがあるように見えるし、「イケてる」VPNはスカンジナビア諸国発であるべきだという雰囲気もあるが、実際には大半はそうではない
    • この発言はよく理解できない
      好意的に見ても本文とは周辺的な関連しかなく、表現が曖昧なので、主題であるMullvadが何か悪いことをしているように聞こえる
      Mullvadはスウェーデン拠点だと明らかにしているが、そうではないということなのか?サーバーの所在地と所有者も公開している
      VPNをなぜ使うべきか、または使うべきでないかについての情報もかなり提供しており、顧客データを記録せず、RAM専用インフラに移行していて、単一の定額料金で安価だ
      正確には何がたわごとなのか、何を違う形にしてほしいのか気になる
    • 「イケてるVPNはスカンジナビア発であるべきなのに、大半はそうではない」という言葉が何を示唆しているのか分からない
      なぜそうあるべきなのかも、なぜ事実ではないのかも理解できない
      公平に言えば、私が知る強いプライバシー志向のVPNでスカンジナビアではないものはProtonVPNくらいだ
    • 消費者の立場では、基本的なことすらきちんと動作しているか自分で確認しなければならず、ひどい状況だ
      数年前にNordを使っていたとき、接続済みと表示しながら実際にはVPNに接続していないサイレントな失敗を見つけ、報告したら既知の問題なので心配するなという返事を受けた
      私の知る限り、彼らはセキュリティ告知を出さなかった
    • 約5年間、Mullvadを満足して使っている
      YouTubeやアフィリエイトサイトに莫大な広告費を使っていない点が、むしろ安心材料だ
      怪しい会社の避難所のような法域ではない場所にあることも好ましい
      要するに、たわごとが少なく、まともに見えるので気に入っている
      PIAやそういう会社を信頼できるとは思えない
  • Mullvadの唯一の問題は、他のVPNよりもウェブサイトでCAPTCHAとブロックに遭遇することがはるかに多いことだ
    • YouTubeとRedditが最悪だ
      攻撃的なブロックは悪用のせいではなく、VPNが追跡とデータマイニングにとって実際の問題になったからだとかなり確信している
      出口サーバーがどちらか一方では使えるが両方では使えないことが多く、YouTubeとRedditの間である程度IPブロックが調整され、VPN利用を面倒にして抑止しようとしているのではないかと疑っている
      VPNユーザーに対してソーシャルメディア間の行き来を邪魔するのは、行動に影響を与える効果的な戦略に見えるし、どちらも事実上の自然独占なので、そうしてもユーザーを失うリスクはほとんどない
      クッキーバナーが、データマイニングに有利になるようプライバシー規制に対する人々の感情を変えるために悪用されているのと似ている
      技術者の多くでさえ、うっとうしいクッキーバナーはEUのせいだと信じているが、実際の運用は悪意ある遵守だったり、不要だったり、露骨に違法だったりする場合が多い
      いずれにせよ本当にうっとうしく、ウェブ全体のエンシッティフィケーションと急速に大きくなる不満の一つの側面のように感じる
    • 最近の私には深刻だった
      事実上好ましからざる人物扱いで、多くのCAPTCHAは単なるブロックなのに、無料の訓練を期待しているように見える