パスワードを忘れた? アカウント作成
14147653 story
暗号

iOSでVPN利用時、一部の通信がVPNをバイパスする脆弱性 33

ストーリー by headless
通過 部門より
iOS 13.3.1以降でVPNを利用する場合に一部の通信がVPNをバイパスしてしまう脆弱性をProtonVPNが公表している(ProtonVPNのブログ記事Mac Rumorsの記事Bleeping Computerの記事BetaNewsの記事)。

問題はVPNへ接続した際にiOSが既存の接続を閉じて再確立せず、そのまま維持してしまうことにより発生する。接続の多くは短時間で閉じられるが、中には数分~数時間にわたりVPNを経由せずに通信が行われることもある。これにより、サーバーとの通信がHTTP接続の場合は通信内容が暗号化されない、攻撃者がiOSデバイスとサーバーのIPアドレスを見ることができる、サーバーがiOSデバイスのIPアドレスを見ることができる、といったリスクが挙げられている。特に市民の監視や権利の侵害が一般的な国の人々はリスクが高いとのこと。

問題を発見したのはProtonVPNのコミュニティーメンバーで、最初にiOS 13.3.1で問題を確認しているが、最新のiOS 13.4でも修正されていないとのこと。ただし、ProtonVPNは脆弱性を昨年発見したとツイートしており、最初に確認されたのはベータ版なのかもしれない。そうであればベンダーに通知後90日日間は脆弱性を開示しないというProtonの開示ポリシーにも一致する。

iOSではVPNアプリ側で既存のネットワーク接続を切断することを認めておらず、ProtonVPN側で対策することはできないという。AppleはVPN常時接続を推奨しているが、モバイルデバイス管理を使用する必要があるため、サードパーティーのVPNアプリは利用できないとのこと。そのため、ProtonVPNでは100%の効果は保証できないとしつつ、VPNサーバー接続後に機内モードをオン・オフするという緩和策を紹介している。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2020年03月29日 21時22分 (#3787743)

    VPNクライアント機能付きのポケットWiFiがあれば回避できそうだけど、意外と無いもんなんですね

    #ざっと見た限り NEC / Huawei / 富士ソフト / NETGEAR には無さそうだった

    • by Anonymous Coward

      VPNコンセントレータはIP-Secの時代にNAPTの問題があるのでずいぶん前に廃れました。
      あとはキャリアグレードNATの問題とかでポケットWi-Fi系に積みにくいってのもある。
      SSL-VPNがある今では少しは違うとは思うが、それでもちょっとした環境の差ですぐ使えなくなるので
      結局作るところはないから、ラズパイあたりで自分で作るしかないかな。

    • by Anonymous Coward

      gl-e750は,どうです?
      Jタイプなら日本で使えますよ.

      • by Anonymous Coward

        良いなコレ
        199ドルか

      • by Anonymous Coward

        L2TP/IPSec対応だと嬉しいけどGUIとかでもいけるのかな?
        なんか普通のLinux Box(LEDE)でSSH接続できるっぽいし、自分で弄ればいけそうだけど。

    • by Anonymous Coward

      個人しかも、その中でも狭いニーズが無いですからねぇ
      企業だとMDMで管理しにくいルーターでVPN張られたらルーターの管理やぶら下がる端末の管理で嫌がりそうですし

      • by Anonymous Coward

        現状でも、SIM+専用APNでVPN接続するソリューションが有るのでニーズは有りそうだと思いますけどね。

        • by Anonymous Coward

          SIM+APN接続するタイプでは、PPPoEみたく携帯電話網から直接VPN網につなげるから安定的にVPN環境に接続可能になっているのであって、
          汎用性持たせるとなると、いろいろハードルありそうな気がする。

  • by Anonymous Coward on 2020年03月30日 0時39分 (#3787780)

    利用者少なかったから放置気味だったんでしょうかね〜

    • by Anonymous Coward on 2020年03月30日 1時07分 (#3787787)

      これは仕様の話だとおもいますけどね。
      VPN接続開始で既存の接続を切って良いのかって話で、切らない挙動も多い(むしろそれが大多数では?)と思いますよ。
      Appleはエンドユーザーに選択させる事で複雑化させるのを嫌うので有る程度は致し方なしかも。

      VPN常時接続をもっと手軽にMDMなしで使えるようにさせてくれって方向で攻めるべきかと。

      親コメント
      • by Anonymous Coward on 2020年03月30日 2時39分 (#3787798)

        私としては目的がVPNなら既存の接続は切れるというか、VPN先を向いてそれで繋がるなり接続断なりになるべきだと思いますが、
        ProtonVPNってサーバーにプロキシ接続に行くものでいいのでしょうか。それなら原理的にAppleの言い分もProtonVPNの言い分も
        妥当なんだろうなと思います。

        親コメント
        • by Anonymous Coward

          VPN自体プロキシとよく似たものではある。
          中継のレイヤがより低くより多様な通信をサーバ経由で行える。

          VPNは本来仮想のプライベートネットワーク内にアクセスするためのもので、
          運用によってはグローバルIPアドレスへの接続はVPN接続中でもVPN非経由とかもありうる物。
          端末にネットワークインタフェイスが一個増えるだけで上になにかかぶせるような物ではない。
          # のでVPN張っても物理の出口ポート指定通信やら着信接続は通るのもあるある。

          また、VPN経由で再接続というのは既存の接続を無理やり切って、
          各アプリケーションが勝手に再接続するのに任せるだけのもの。
          アプリケーションが再接続しなければ切れて終わり。
          なにかダウンロードしている最中に切断が起きた場合、
          ただエラーで終了するアプリケーションは正直多い。

      • by Anonymous Coward on 2020年03月30日 9時50分 (#3787844)

        以前のバージョンのiOSではどういう挙動だったのかが気になる。
        そういうポリシーに変えたのか、意図しない不具合なのかで若干話が変わってくる。

        親コメント
        • by Canalian (19238) on 2020年03月30日 18時40分 (#3788162)

          以前が指す時期にもよるが、当初はサードパーティがVPN機能を提供すること自体、できなかった。
          おそらくAPIそのものは存在していたと思われるが、APIの諸元等は公開されず、動作どころか開発(ビルド)に必要な権限すら取得できない状態だった。
          当時、一般の開発者にできることは、VPNの接続確立/解放を指示することと、VPNの状態を取得することだけ。

          NetworkExtensionが利用できるようになって、ようやくそうした状況から開放された。
          https://developer.apple.com/documentation/networkextension [apple.com]

          親コメント
      • by Anonymous Coward on 2020年03月30日 13時12分 (#3787957)

        脆弱性を承知で仕様として組み込むとか酷すぎるだろiOS

        親コメント
        • by Anonymous Coward

          信者が欠陥品をありがたって買い取るのがいけない。信者であっても、欧州連合のようにAPPLEを糾弾する必要がある。

      • by Anonymous Coward

        そもそも、

        1. 特に重要な情報をやりとりないので、普段はHTTPなどの平文接続で繋いでいる状態
        2. よし、ここからは重要な情報を送るので通信を暗号化しよう、とVPNをONに

        という状況がかなりニッチに思える。
        で、TCPの仕様からして、そうやった場合に得られる結果は、

        a. 1で繋いだ接続が切られた上、再接続以降はVPNを通して暗号化される
        b. 1で繋いだ接続はそのまま。そのままなのでVPNも通らず暗号化もされない

        のどっちかになるわけで、そんなニッチな使い方をするユーザの期待する動作はaじゃないかなぁ。

        c. 1で繋いだ接続が維持された上で、それ以降のやりとりは暗号化され

        • by Anonymous Coward

          既存コネクションはそのまま非VPN、新規コネクションからVPN経由なんて感じでは?
          VPNセッション張るだけでSSHとかのセッションが切られるとか困る。

        • by Anonymous Coward

          VPN本来の目的は安全な拠点間通信であって、暗号化はその手段に過ぎません。
          VPNをプライバシー保護に応用しているようなユーザは(a)の動作を期待するでしょうが、VPN接続の度にファイルコピーやリモート接続が中断されるのでは企業ユーザが困ります。
          OSの機能としては既存の接続はそのままにしておき、ユーザが必要に応じて切断するか、特権を付与されたアプリケーションが一括切断するのが筋でしょう。

          • by Anonymous Coward

            そもそもVPNってそんなコロコロ接続切断する為のものではないのでは?と。
            接続切断が社内LANケーブル抜き差しなイメージ。

            窓で社内LAN接続に使ってたけど、別ストーリーのような窓のトラブルの存在すら知らなかったし。

            • by Anonymous Coward

              VPNって言葉と私のイメージについて。間違っていたら優しく教えてほしい。

              私のような老人がイメージするVPNはSSLVPNとかIPsecVPNとか呼ばれる。
              Windowsだと設定するとネットワークアダプタに仮想NICがインストールされるようなもので、レイヤ2の対応であって
              既存のコネクションもVPN先を向くべきだ。

              今時のVPNは、中国からTwitterが見れたり日本から米国のNetflixが見れたりするようなものだと思う。
              Windowsではインターネットオプションでプロキシ設定を変えるようなことで、レイヤ3での対応であって
              Windowsでも既存のコネクションの向きは変わらないと思っている。
              これは老人のVPNではないため、Windowsの脆弱性と呼ぶ人もいない。

              • by Anonymous Coward

                NICの変更と追加では話が違うんじゃない?
                インターネット接続するために携帯電話をつないだら
                WifiやLAN経由のコネクションも全部携帯電話経由になったら困るわけだし。

              • by Anonymous Coward

                老人のイメージするVPNも大抵はL3だよ。L2は特殊な用途でしか見かけない。
                OS標準なら、仮想NICでなくダイアルアップ接続(rasとかppとかtap/tun)が追加される。
                非標準だと仮想NICデバイスが追加されてL2っぽく見える事もあるけどね。
                ただ、L2 VPNや仮想NICなVPNだとしても、現象としては一緒。
                Wi-Fi接続中にLANケーブル差し込んだら、毎回Wi-Fiの接続での通信が切れて有線になってダウンロードとか作業をやり直した方が嬉しい?
                LTEでIP電話中に自宅や会社の無線LANエリアに入ってWi-Fi接続したらIP電話切れた方が嬉しい?
                大抵はちがうよね。

    • by Anonymous Coward

      ああ急に利用者が増えていろいろ問題があぶり出されてきた感じか

  • by Anonymous Coward on 2020年03月30日 12時29分 (#3787924)

    不自由ソフトウェアによりセキュリティとプライバシーが損なわれる。意図しない動作が実行される。
    当然の結果だ。

  • by Anonymous Coward on 2020年03月30日 14時35分 (#3788008)

    VPN接続は本来プライベートネットワークに安全に接続するための手段だからなぁ……
    端末近傍の通信を秘匿したり、端末からの直接通信を制限するのは応用にあたるはずだ。
    その応用を目的とした場合には脆弱性だけど、
    元々の目的からすればVPN張る前の通信が継続するのは本来なら自然な挙動のはず。
    VPN張る前に繋がってる時点でとっくに秘匿失敗してる訳だしね。

    応用を目的とした利用が非常に多いって状態で建前を盾にするAppleもAppleだが、
    応用が目指すところを考えるとどこの誰ともしれん連中の運用するVPNサーバから
    ポコポコ非暗号化通信を飛ばすVPNアプリなんてものに便宜を図れないのも分かる。
    今更ホイホイ便宜を図る変更をいれて事実上のお墨付き与えるのは難しいだろう。

    Appleは嫌いだがどっちもどっちだし最早しゃーないとしか言えん気がする。

  • by Anonymous Coward on 2020年03月30日 20時19分 (#3788216)
    最悪のセキュリティ欠陥ともいえるgoto fail [nist.gov]の再来ですかね。
typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...