- ベストアンサー
スマートフォンがVPN接続している間の攻撃について
スマートフォンの設定画面を見ると、取得しているグローバルIPアドレスが表示されています。この宛先に悪意のある攻撃者がNmapなどでパケットを投げると直接スマートフォンに届くと思うのですが、 ここでExpressVPNなどのVPNサービスと契約して、常時VPN接続にしていた場合、このグローバルIPアドレス宛へ届いたTCP/UDPパケットは無効となるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> であれば、例えば同じ80番ポートを他の、Firefoxなどが使用していた場合(同時にyoutubeを見ているとか)でも、通信自体が別々のものなので、まかり間違ってChromeでなくFirefoxにパケットがスルッと流れていくなんてことはないのだと推測します。これは、もしかすると全く別の、既知の脆弱性のあるOSのサービスにパケットが流れていくのではと邪推してしまいますが。。。 先の回答に書いた通りクライアント側(ブラウザ)は80番ポートでは無く、49152~65535番のいずれかのポート番号が割り当てられていて、複数ブラウザを立ち上げていたらブラウザごとに異なるポート番号を使用するので、ChromeとFirefoxは別々の通信としてちゃんと識別されます。 > また、VPN/80/443のポートをすり抜けてパケットがルータ内部を通過しても、アプリに脆弱性がなければ問題ないということですね。 アプリに脆弱性が無ければ問題ありませんが、ブラウザなどは毎月数件の脆弱性対策が実施されるくらい脆弱性が存在します。 また、OSや常駐ソフトがバックグラウンドで勝手に通信してしますので、全て脆弱性が無い状態に保つのはとても大変です。 > VPNサーバに攻撃者がパケットを送り付けてきたら、接続しているこちらへ届いてしまうところなのですが、ここはちょっと理解が及ばないです。VPNサービスは基本的に一つのIPアドレスを複数人で共有しているのだと思うのですが、VPNサーバー側が各契約者ごとの回線セッションを自動でチェックしているはずなので、このチェックをすり抜けるのは大変だと思うのですが、意外と楽に、パケットを投げればクライアントまで届いてしまうのでしょうか? はい、届いてしまいます。 TCP/IPの通信は、宛先IPアドレスとポート番号と送信元IPアドレスとポート番号の4つの情報で相互に相手を認識して通信します。 VPNサーバ経由で通信した場合、多くのVPNユーザーが1つの送信元IPアドレスで各サービスにアクセスしますが、送信元ポート番号だけは各ユーザーの個々の通信ごとにユニークでなければ、通信相手から返ってきたデータをどのVPNユーザーに転送すればいいか判別できないので、ポート番号だけは必ずユニーク値になります。 貴方がVPN経由でどこかのWebサイトにアクセスしたとすると、VPNサーバーは貴方の通信に対して例えば50000番のポート番号を与えて、目的のWebサーバに対して送信元ポート番号50000番でリクエストを送信します。 そうするとWebサーバからはVPNサーバーのIPアドレスに対して宛先ポート番号50000番でデータを返してくるので、VPNサーバーは50000番宛のデータは貴方へ転送するという処理を行います。 この時、VPNサーバーに対して攻撃者が50000番宛でデータを送りつけてくると、そのデータも貴方へ転送してしまい、貴方が使用しているブラウザへ攻撃者からのパケットが届いてしまいます。 ブラウザに脆弱性があり、攻撃者が送ってきたデータが脆弱性を突くモノであればブラウザが異常動作してしまう可能性があります。 VPNはあくまでもクライアントとVPNサーバの間の通信を暗号化するだけの機能で、VPNサーバから先は通常のインターネット通信ですから、現実的にはブロードバンドルーターの下に複数台のパソコン等が居る家庭でのインターネットアクセスと大差無い状態なのです。 一般ユーザーがVPN経由でインターネットへアクセスする上でのメリットは送信元IPアドレスが秘匿できると言うだけに過ぎません。
その他の回答 (2)
- t_ohta
- ベストアンサー率38% (5292/13827)
> 基本的にインバウンド接続はDenyしていて、こちら側から、例えばWebを閲覧する時だけ80/443番をアウトバウンドで開いて通信しているという認識で合っているでしょうか? 基本的にインバウンドは閉じています。 Web閲覧時の80/443番はサーバ側のポート番号で、クライアント側(スマホ側)は49152~65535番のいずれかがランダムに割り当てられます。 > パケットのやり取りをしている符丁に合致したパケットを攻撃者がスマホのIPアドレスに送ると、それがスマホに届く、というようなイメージでしょうか。 クライアント側のポート番号に対してサーバからパケットが返ってくるので、ポートを開けて待ち受けています。 空いているポートに対してパケットが届くと、OSはそのポートを使用しているアプリにデータを渡してしまいます。 > 80/443のポート宛にするのと、VPNのポート宛にするのとでは、攻撃者としてはどちらの方が都合が悪いのか教えていただけると助かります。 どちらも関係ありません。 アプリの脆弱性や、その下層で動くTCP/IPスタックの脆弱性を狙うと言う意味ではどちらも同じです。 > でも基本的にはVPNアプリを入れた上でWeb閲覧などをしていた方が安全ってイメージありますよね。 コレは大きな誤解が含まれています。 VPNによって暗号化されるのはクライアントとVPNサーバの間の通信だけです。 VPNサーバを経由して外に出た通信は通常のインターネット通信ですから、VPNを使用せずに直接インターネットに接続しているのと危険性は変わりません。 また、VPNサーバに対して攻撃者がパケットを送りつけてきたら、その攻撃パケットはVPNを通じてクライアントへ転送されてきます。 勿論高価なUTMなどをVPNサーバ側で用意していれば、ある程度フィルタリングしてくれますが、それでも実際に通信に使用しているポートに対してパケットが送られれば転送されてきてしまいます。 VPNを使うメリットは、相手側サーバに自分のグローバルIPを秘匿できたり、接続元をIPアドレスで制限しているサービスにアクセスできるようになると言う事と、暗号化されていない公衆Wi-FIなどを使用するときに電波の盗聴から守れるという事です。 また、会社のLANに接続して社内システムを利用するような場合は、社内システムは通信が暗号化されてない場合が多いので、VPNを使って通信全体を暗号化させてデータを保護するのに使用します。 まぁ公衆Wi-FIでもHTTPSなどプロトコル自体が暗号化されている通信なら、電波を盗聴されても通信内容を見られる事は無いですけどね。
お礼
引き続き、回答ありがとうございます。例えばChromeが80番ポートでアウトバウンド通信をしている間、攻撃者がタイミングを狙ってパケットを割り込ませてきた場合、そのパケットはChromeが受け取る。そしてChromeに脆弱性があって、そのパケットがそれを突くものであれば悪意のあるコードを実行してしまう可能性があるということですね。 であれば、例えば同じ80番ポートを他の、Firefoxなどが使用していた場合(同時にyoutubeを見ているとか)でも、通信自体が別々のものなので、まかり間違ってChromeでなくFirefoxにパケットがスルッと流れていくなんてことはないのだと推測します。これは、もしかすると全く別の、既知の脆弱性のあるOSのサービスにパケットが流れていくのではと邪推してしまいますが。。。 また、VPN/80/443のポートをすり抜けてパケットがルータ内部を通過しても、アプリに脆弱性がなければ問題ないということですね。 VPNサーバに攻撃者がパケットを送り付けてきたら、接続しているこちらへ届いてしまうところなのですが、ここはちょっと理解が及ばないです。VPNサービスは基本的に一つのIPアドレスを複数人で共有しているのだと思うのですが、VPNサーバー側が各契約者ごとの回線セッションを自動でチェックしているはずなので、このチェックをすり抜けるのは大変だと思うのですが、意外と楽に、パケットを投げればクライアントまで届いてしまうのでしょうか?
- t_ohta
- ベストアンサー率38% (5292/13827)
VPN接続しているか否かに関わらず、スマホ側で開いているポート以外に届いたパケットは破棄されます。 VPN接続していても、VPNで使用しているポート宛てにパケットが届けば受け取って処理を行います。
お礼
回答ありがとうございます。すみません、スマホ側のポートの開き方なのですが、基本的にインバウンド接続はDenyしていて、こちら側から、例えばWebを閲覧する時だけ80/443番をアウトバウンドで開いて通信しているという認識で合っているでしょうか?その通信をしている間、パケットのやり取りをしている符丁に合致したパケットを攻撃者がスマホのIPアドレスに送ると、それがスマホに届く、というようなイメージでしょうか。 またVPN接続時はVPNのポートだけ開くとのことですが、これもアウトバウンド接続で接続しているかと思います。そこで、VPN接続が確立している間、攻撃者がそのVPNのために使っているポート宛にパケットをドンドン送ってきた場合、そのパケットは「符丁が合えば」VPNアプリに届く。と思いますが、80/443のポート宛にするのと、VPNのポート宛にするのとでは、攻撃者としてはどちらの方が都合が悪いのか教えていただけると助かります。でも基本的にはVPNアプリを入れた上でWeb閲覧などをしていた方が安全ってイメージありますよね。
お礼
引き続き回答ありがとうございます。詳説とてもよく理解できました。VPNなら安全!と神話みたいに有難がっていましたがそうでもないということが分かってよかったです。UTMの導入も検討しないといけないかと、少し思いました。 これにて質問を締め切らせていただきます。回答者さん、ありがとうございました。