1 ポイント 投稿者 GN⁺ 2024-10-17 | 1件のコメント | WhatsAppで共有
  • Mullvadは、macOSでシステムアップデート直後にトラフィック漏えいが発生する可能性があり、現在確認されている解決策は再起動だと明らかにした
  • 問題が発生している状態では、macOSファイアウォールが正常に動作せず、設定済みのファイアウォールルールが無視されるように見える
  • ほとんどのトラフィックはルーティングテーブルのためVPNトンネルに入るが、アプリが常にルーティングテーブルに従う構造ではない
  • macOS 14.6から最新の15.1ベータまで、一部のAppleアプリとサービスがトンネル外へトラフィックを送信できる
  • MullvadはAppleに問題を報告しており、アプリ側で可能な回避策を引き続き調査中

アップデート後に確認された漏えい条件

  • macOSシステムアップデート後にトラフィック漏えいが発生する可能性がある
  • 現在Mullvadが把握している範囲では、再起動で問題は解決する
  • この状態ではmacOSファイアウォールが正常に動作せず、設定されたファイアウォールルールを無視するように見える
  • ルーティングテーブルの設定により、ほとんどのトラフィックはVPNトンネル内に入る
  • ただし、アプリが必ずルーティングテーブルに従う必要はないため、その気になればVPNトンネル外へトラフィックを送ることができる
    • Apple自身のアプリとサービスがその例に含まれる
    • 対象範囲はmacOS 14.6から最新の15.1ベータまで
  • Mullvadはこの問題をAppleに報告しており、追加情報の提供と、アプリで可能な回避策の調査を継続している

影響を受けているか確認する方法

  • ターミナルで、すべてのトラフィックを遮断するファイアウォールルールを追加する
echo "block drop quick all" | sudo pfctl -ef -
  • VPNトンネル外へトラフィックを送信しているか確認する
curl https://am.i.mullvad.net/connected
  • 実験後、ファイアウォールを無効化し、すべてのルールを削除する
sudo pfctl -d
sudo pfctl -f /etc/pf.conf
  • Mullvadアプリでも漏えい有無を確認できる
    • VPNに接続していない状態であることを確認する
    • デフォルトインターフェースを確認する
route get mullvad.net | sed -nE 's/.*interface: //p'
  • MullvadアプリでVPNサーバーに接続する
  • 以下のコマンドで<interface>を前段階で確認したインターフェースに置き換えて実行する
curl --interface <interface> https://am.i.mullvad.net/connected
  • 正常動作時の応答は、Mullvadに接続されているか、サーバーに接続できないことを示すはず
  • Mullvadに接続されていないという応答が出た場合は、トラフィックが漏えいしている状態

1件のコメント

 
GN⁺ 2024-10-17
Hacker Newsのコメント
  • macOSをアップデートするたびに、ファイアウォールを含む一部のシステム設定がデフォルトに戻されてしまい、そのたびに手作業で設定し直さなければならなかった
    macOSやiOSをインストール・アップデートするとき、インターネットに接続しているとインストール時間が長くなるのを何度か経験して以来、今ではアップデート中はルーターの電源を切っている
    Windows、macOS、AndroidなどにAI機能が次々と統合されている状況なので、アップデート中にも新しいAI機能を「準備」する名目で個人データのアップロードやサーバー側からのデータダウンロードがさらに増えるように思う
    インターネットがなければ、インストーラーはその工程を後回しにするしかなく、起動後にデフォルト設定を変更するまでの時間を稼げると考えている
    関連する投稿は https://news.ycombinator.com/item?id=26418809https://news.ycombinator.com/item?id=26303946 にもある

    • インストールやアップデートのたびにルーターまで切らなければならないのなら、お金を払って買ったOSにしては 手間がかかりすぎる と思う
    • Macの美しいハードウェアが、最近のmacOSバージョンのせいであまりにももったいない使われ方をしている
    • インターネットなしでどうやってアップデートをインストールできるのか気になる
      ここ数年、自動アップデートは「ソフトウェアのパーソナライズに失敗しました。インターネットを確認してください」といったエラーで失敗し続けている。インターネット自体は正常に動作しているのにそうなり、アップデートするには結局 Live USB と Ethernet 接続が必要だった
    • macOSがアップデートのたびに、ファイアウォールを含む一部設定をデフォルトに戻すのは、Windowsもしばらく前からやっていた
      その観点ではLinuxだけが比較的「クリーン」だったが、最近では一部のディストリビューションもスパイウェア的な要素をこっそり入れ始めている。OSの enshittification は進み続けている
    • iPhoneをアップグレードするたびに Bluetoothがオンになる のが本当に腹立たしい
      Appleは顧客に特定の機能を使ってほしいので、アップグレード時に勝手に有効化しているようで、かなり不快だ
  • 漏れのないVPNを望むなら、デバイス内ではなく ルーターレベル で実装すべきだ。どんなデバイスでもそうだが、特にApple製デバイスではなおさらだ
    有線区間でトラフィックをキャプチャしてWiresharkに流すことを強く勧める。ルーターや手動のEthernetタップで可能で、VPNの入口以外に向かうパケットがかなり見つかるはずだ
    ルーターを使えば携帯電話の漏れも確認できる。Wi‑Fi通話がオンになっていると、携帯電話が30秒ごとに通信事業者の制御サーバーへTCP接続を張ることもわかる
    たとえば T-Mobile を使っていて海外におり、しかもそれをメインのSIMとして使っていなくても、通信事業者は利用者が使うすべての出口IPのログを取得できる
    AppleがVPNとネットワークフィルタリング拡張をサポートしているように見えるのは、ほとんどおとりに近く、自社のトラフィックに対しては平気でそれを無効化する
    iOSではApp StoreがVPNを迂回し、VPNを使っているとAppleがアップデートのダウンロードまで妨げることがある。ルーター上でVPNを動かしていたところ、アップデートのダウンロードに失敗してそれに気づいた
    Macでは特に初回起動時の問題が多い。Macは一度VPNの外へ接続するまではVPNを確立しようとしないように見える
    スリープ復帰後、Cloudflare Warp を使うオンデマンドの WireGuard トンネルがパケットを送れなくなる状況をよく経験する。Ethernetを抜き、常時オンを無効にして、30秒ほど待ってから再度有効にし、Ethernetを挿し直すと接続できる
    ただ、この過程で実際に漏れがないのかはまだ確信が持てず、さらに調べる必要がある

  • ログイン前でもタブの音声が漏れることがある
    すべての「復元」機能をオフにしているのに、macOSが再起動後、ログイン前にブラウザを「起動」してしまい、再起動前または数日前に一時停止していたコンテンツが自動再生されることがあった
    その後、その機能はかなり深いところまで無効化したが、もう二度と信用できなくなった

    • Appleは即時の反応を求めるユーザーのために、TCP/IPスタックとSafari を事前にウォームアップしておきたいのだと思う
      長期的には、この親切を「Safariはダメだ」という批判に耐えるための信用に変え、最終的にはAppleとGoogleがブラウザをアプリ市場にする戦いの方向へインターネットを押し進めるだろう
      両社とも勝者になれ、互いを責めることもでき、反競争的な行動へのインセンティブを与えつつ、それぞれの組織の利益が偶然一致しただけのようにも見せられる
      インターネットは少数の巨大企業に捕獲され、ゲーム化され、商品化され、垂直統合されてきた
      モバイル機器は事実上、依存性を持つ追跡装置であり、政府はそうした華やかな道具を行政機能に使うことに関心を持ちすぎていて、法・技術・ビジネスが噛み合うことで体系的に悪用されうる地点を放置している危険を見ようとしていない
    • ノートPCを開いたときに音が鳴ることほど望ましくない機能もあまり思い浮かばないのに、Appleはそれをあたかも機能であるかのように持ち込んでくる
    • ログインもしていないのにアプリケーションを開けるというのが理解できない
      ユーザーが誰なのかをどうやって知り、どのアプリを開くべきかをどうやって判断しているのだろう。ログイン前だとしたら、実際には自動ログインしていて画面に表示していないだけではないかと疑ってしまう
      かなり大きなセキュリティバグに見えるし、これが悪用されていないのが不思議だ
      以前、FaceTimeの着信があると、応答しなくてもiPhoneがカメラをオンにして発信者へ映像を送っていた件を思い出す
    • FileVault が有効なら、これがどうして可能なのかわからず、事実上のセキュリティ回避のように聞こえる
      再起動後、パスワードを入力するまではユーザーデータが暗号化されているのだから、システムはユーザーについて何も知るべきではないと思っていた
      だとすると、再起動前にどのアプリが開いていたかも分からないはずで、音を再生できるのはなおさらありえないはずだ
    • iPhoneのブラウザでも似たようなことがある
      ブラウザを開くと最後に開いていたページが一瞬見えることがあり、ブラウザを閉じる前に注意して閉じていた場合でもそうなる
      大きな問題につながったことはないが非常に不快で、状況によっては実際の問題になる可能性もある
  • 記事の日付は今日になっているが、1か月ほど前にまったく同じ話を読んだような気がする

  • NixOSが良いとは聞いていたが、ブラウザやよく使うアプリのため、まだGUIのあるOSが必要だと思っていた。
    macOSのエコシステムから離れたいのに、ますます悪い方向に進んでいる。デジタル生活全体をApple中心で組み立ててしまったようだ

    • NixOSでもGUIは問題なく動く。このコメントもNixOSのブラウザから送っている
  • 「アプリがルーティングテーブルに従う必要がない」というのは狂っている。
    ただの参考用の虚構なら、なぜルーティングテーブルを作ってユーザーに公開しているのかわからない。
    ベンダーはユーザーのデバイス上で自分自身に特権を与えるのをやめるべきだ

    • ソケットを特定のインターフェースにバインドしなければならない正当なユースケースもある
  • macOSのシステムアップデート直後の初回起動は、かなり前からバグだらけだった。
    アップデート前には開いてもいなかったアプリを大量に起動するが、たいてい最近終了したアプリが5〜10個ほどのように見える。
    完全に終了していたアプリで、「再開」設定もオフだった。単なる再開ではなく、新しいウィンドウを作るようにアプリを起動する方式で、ディスクのマウントが終わる前に実行される。
    そのせいでアップデートのたびに、よく使うアプリが突然現れて設定やデータが消えたと言ってくる。
    再起動し直せば問題なくなるので大事ではないが、不注意に見えるし、OSが不安定に感じられる。
    ファイアウォールの問題とは無関係かもしれないが、今回の件でAppleがそのバグまで修正するか見守る必要がある

    • 「アップデート」ボタンを押した瞬間に開いていたアプリを全部起動しているように見える。実際のインストール開始が30分後だったとしても、そう見える
    • 「再開」設定が実際に何をしているのかよくわからない。
      Macは結局すべてをまた開いてしまうことがあまりにも多くてうんざりする。止める方法を探すと、返ってくる答えはいつも「もう無効にしてあるその設定をオフにしろ」だけだ