個人用VPNとその回避テクニック: リスク要因とネットワーク可視性を維持する方法

By and

Category: Unit 42, Unit 42

Tags: , , ,

Personal VPN and Its Evasions: Risk Factors and How to Maintain Network Visibility

This post is also available in: English (英語)

概要

企業は、プロキシサーバーを迂回してオンラインでの活動を隠したり、検出されずにデータを流出させようとしたりする、オンサイトやリモートの従業員の検出回避行為の増加に頭を痛めています。たとえば、従業員が「シークレット」モードを使用したり、個人用仮想プライベートネットワーク(VPN)やTorブラウザをダウンロードしたり、企業のVPNを迂回したりすることがあります。このような場合、情報セキュリティチーム(InfoSec)は、その従業員が自分のプライバシーを守っているだけなのか、組織のポリシーに反する行動を隠しているのか、あるいは攻撃を隠そうとしているのかを判断するために、ネットワークを完全に可視化する必要があります。

個人向けVPNサービスはユーザーのトラフィックに安全で暗号化されたトンネルを実現することを約束します。インターネット接続を暗号化したり、アプリケーション使用状況や閲覧履歴を非公開にすることで、このトンネルを他人に見られないようにするサービスを提供しているのです。VPNは、インターネット検閲やトラフィックポリシーのエンフォースの回避に使用されることもあります。ただ実際問題として、こうしたことによりネットワークに対する組織の可視性は損なわれてしまいます。

ネットワークの可視化はさまざまな理由で重要です。たとえば、ポリシーのエンフォースによるセキュリティ向上、シャドーITの減少、悪意のあるないし疑わしいアクティビティの迅速な検出などがその理由にあげられます。また可視化により、組織のアプリケーションプロファイリングは強化され、十分な情報に基づいて意思決定を行うことができるようになります。

組織によっては、たとえば弊社の次世代ファイアウォールなどのツールを使用して、ネットワークトラフィックに対する高い可視性を得ていることがあります。企業によっては、パケットやアプリケーション、ユーザーのレベルにおよぶ可視化を試みるケースもあります。

本稿では、個人用VPNアプリケーションとそれがもたらすリスク、組織内のネットワーク可視性に対する脅威について評価していきます。これらのアプリケーションやサービスがどのようにしてファイアウォールを回避し、セキュリティやポリシーのエンフォースメカニズムを回避するのかについても触れます。

パロアルトネットワークスのお客様は、ネットワーク内の個人用VPNの識別とサニタイズを支援する次世代ファイアウォールApp-IDを使用することにより、ネットワークの完全な可視性を維持できます。

企業内ネットワークでの個人用VPN使用とその主なリスク

VPNは、他の方法ではアクセスできないネットワークリソースに対するアクセスを提供してくれるものです。VPNは異なる場所にある企業の内部ネットワークを、インターネットを介して暗号化されたチャネルで接続するために開発されました。職場ではリモートワーカーなど物理的に企業ネットワークに接続されていないユーザーにアセットやデバイスへのアクセスを提供する目的でVPNがよく利用されています。それがいまでは誰もが気軽に利用できるようになり、なかには無料で利用できるものも登場しています。とはいえ、一般ユーザーで、個人用VPNを会社端末で使用することのリスクについて気にしている人は多くありません。

VPNのデータセキュリティやプライバシーに関していえば、VPNプロバイダがネットワークトンネルを運営していることから、ユーザー側としてはVPNプロバイダを信頼するしかないケースがほとんどです。さらにプロバイダは、ユーザーがどのWebサイトを何回訪問したかを暗号化されていないデータも含めて知ることができます。これらのデータは保存できますし、こうしたネットサーフィン行動を利用して適切なターゲット層に広告を配信している広告会社やマーケティング会社にとっては高い価値をもたらします。VPNプロバイダは、ユーザーからは利用料を徴収しつつ、ユーザーのWeb利用データを広告業界に売却して、ユーザーと企業の両方から二重取りする可能性があります。さらに極端なケースではユーザーのデータを政府機関に提供することもあります。

個人用VPNの利用はネットワークへのリスク要因にもなります。これらのリスクには、情報セキュリティチームが企業環境でエンドポイントを保護し、ユーザーが意図的または偶発的に特定の未承認タスクを実行するのを防ぐ多層防御戦略で緩和される脅威を含みます。

攻撃者は常に脆弱なネットワークをスキャンして侵害を試みます。組織内のコンピュータを1台でも侵害できればネットワーク全体が危険にさらされる可能性があります。そこで組織側は、ドメインネームシステム(DNS)の設定や企業用のデータ損失防止(DLP)製品、プロキシサーバーをこうした脅威への対策としても役立てていて、ユーザーやデータ、通信の保護に重要な役割を果たさせています。こうした仕組みが回避されてしまうとネットワークの可視性は低下し、組織は危険にさらされます。

プロキシサーバーにはさまざまな役割がありますが、従業員が不適切なサイトや安全でないサイトを閲覧するのを防ぎ、トラフィックを監視することもその主な役割の1つです。このほかにプロキシサーバーは悪意のあるコマンド&コントロール(C2)サーバーとの通信から企業のエンドポイントを保護もしていますが、VPNを利用するユーザーにはこの保護が回避されてしまいます。たとえばVPNを使用中に従業員のコンピュータが感染した場合、C2サーバーに送信されたデータは情報セキュリティ部門からは見えません。

インサイダー脅威も外部からの侵入者と同様に企業セキュリティへの重大リスクとなっています。従業員は、情報セキュリティチームが設置したセキュリティ対策や許可を、プライベートVPNや個人用VPNを使うことで回避できてしまいます。VPNの利用によりオンラインでの活動がサイバー犯罪者に狙われやすくなります。さらにIT部門はユーザーの行動を完全に把握することができなくなります。たとえば、ユーザーが安全でないサイトや禁止されているサイトを閲覧した場合にVPNはそうした活動を隠してしまいます。

既知のVPNの脆弱性

VPN製品はその基本機能が組織にリスクをもたらすだけでなく、脆弱性によっても APT(持続的標的型攻撃)に狙われやすくなっています。残念ながらなかには最新の修正プログラムを適用していないユーザーもいることを見越したサイバー犯罪者が、既知の修正済み脆弱性を悪用する方法を頻繁に見つけています。

以下、「PC Magazine」に掲載された2021年のベストVPN製品のリストを参考に、過去数年間に発生した既知の脆弱性の数を確認して表1にまとめてみました。

製品名 脆弱性数 脆弱性ID 最高のCVSS深刻度
Private Internet Access VPN 12 CVE-2020-15590

CVE-2019-12579

CVE-2019-12578

CVE-2019-12577

CVE-2019-12576

CVE-2019-12575

CVE-2019-12574

CVE-2019-12573

CVE-2019-12571

CVE-2019-12572

CVE-2018-10190

CVE-2017-15882

V3.0: 7.8 HIGH

V2.0: 9.3 HIGH

NordVPN 3 CVE-2018-3952

CVE-2018-10170

CVE-2018-9105

V3.0: 9.8 CRITICAL

V2.0: 10.0 HIGH

IVPN 3 CVE-2020-7043

CVE-2020-7042

CVE-2020-7041

V3.1: 9.1 CRITICAL

V2.0: 6.4 MEDIUM

ExpressVPN 2 CVE-2020-29238

CVE-2018-15490

V3.1: 7.5 HIGH

V2.0: 5.0 MEDIUM

ProtonVPN 2 CVE-2018-4010

CVE-2018-10169

V3.0: 9.8 CRITICAL

V2.0: 10.0 HIGH

Hotspot Shield VPN 2 CVE-2020-17365

CVE-2018-6460

V3.1: 7.8 HIGH

V2.0: 7.2 HIGH

CyberGhost VPN 1 CVE-2018-10646 V3.0: 7.8 HIGH

V2.0: 7.2 HIGH

TunnelBear VPN 1 CVE-2018-10381 V3.0: 9.8 CRITICAL

V2.0: 10.0 HIGH

表1 PCマガジンによる2021年のベストVPN製品とそれらのサービスに存在する既知の脆弱性の数およびCVEと深刻度の情報

VPNアプリケーションがファイアウォールを回避する方法

VPNアプリケーションが組織ネットワークに脆弱性をもたらす可能性を考えると、ファイアウォールの回避機能があることは問題となります。VPNはオンラインへの接続を完全に匿名化することはできませんが、通常のVPNは他のプロトコルへのトンネルを作ってそこで暗号化技術を使用します。VPNサービスプロバイダは、IPsec(Internet Protocol Security)、SSL/TLS(Transport Layer Security)、DTLS(Datagram Transport Layer Security)、MPPE(Microsoft Point-to-Point Encryption)、SSTP(Microsoft Secure Socket Tunneling Protocol)、SSH/OpenSSH(Secure Shell VPN)、OpenVPN、WireGuardなどの安全なVPNプロトコルを使用可能です。ただしこれらはいずれもVPNを合法的に利用するためにきちんとした設計がなされた安全なプロトコルであることから個人用VPNサービスプロバイダには不向きです。というのもこれらはすべて既知のプロトコルなので組織や政府が簡単にブロックしてしまえるからです。これはVPNプロバイダが顧客に約束する「100%安全な接続性と可用性」と矛盾することになります。

VPNプロバイダはポートやサーバーを切り替えたりプロトコルをホッピングしたりしてネットワーク上で検知されないように最善を尽くしています。たとえば、OpenVPNベースのVPNサービスではトランスポート層プロトコルをTCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)に変更するオプションが用意されています。ただし検知を逃れつつ同時に顧客サービスのために可用性を完全に維持したいという要望の前に話はそこでは終わらず、組織や政府によるブロック回避のために独自プロトコルを設計するVPN企業すらあります。

次のセクションでは複数のVPN製品が採用している回避技術について確認します。

自己署名証明書

図1は、Hotspot Shieldが偽の自己署名証明書を使用してトラフィックにファイアウォールを回避させる様子を示しています。ただしこれはTLS暗号スイートの情報やポート番号を調べ、本物の証明書と異なるパターンを観測するなどの方法で特定可能です。

Personal VPN Hotspot Shieldは偽の自己署名証明書を使用して、トラフィックにファイアウォールを回避させている
図1 Hotspot Shieldは偽の自己署名証明書を使用してファイアウォールを回避させる

「HTTPトラフィックへのトンネリング」

VPNアプリケーションの中には単純なHTTPトラフィックに見せかけたトラフィックを送信してファイアウォールを突破しようとするものもあります。ただこれもよく観察すると認証ヘッダやエンコーディング、HTTPリクエストメソッドやポート番号などのリクエストヘッダに含まれる他の明確な情報を使えば特徴が見つかりますし、こうした特徴を使えばこれらのアプリケーションも識別可能です。

図2は200万人以上のユーザーを持つSetupVPNがHTTP proxy-authorizationヘッダを使用してユーザーをサーバーに認証している様子を示しています。ヘッダを解読するとSetupVPNアプリケーションに関する有益な情報が得られます。

この図で示したSetupVPNのHTTP proxy-authorizationヘッダからSetupVPNアプリに関する有用な情報を提示できる
図2 SetupVPNはHTTP Proxy-authorizationヘッダを使ってユーザーをサーバーに認証する

よくあるプロトコルを模倣

VPNアプリケーションはその通信にウェルノウンポートを使用してトラフィックを送信することでファイアウォール回避し、ファイアウォール実装の誤認を引き起こしてファイアウォールを突破しようとします。たとえば、1,000万人以上のユーザーを持つThunder VPNでは、DNSによる利用が知られるUDP 53番ポートとHTTP over TLS/SSL(HTTPS)プロトコルによる利用が知られるTCP 443番ポートを使用します。

このスクリーンショットは、個人用VPNとして使用されることのあるThunder VPNが、プロトコルに関連するポートとハンドシェイクタイプを利用することで、SSLトラフィックを模倣している
図3 Thunder VPNはポートとハンドシェイクタイプでSSLトラフィックを模倣

上の図はThunder VPNから送信されたポート443のトラフィックがWiresharkでSSLと誤認された様子を示しています。Thunder VPNはSSLと同じポートとハンドシェイクタイプを使用することでSSLトラフィックを模倣しています。

Thunder VPNはどのネットワークでも通常は許可されているデフォルトのDNS用の53番ポートを使ってトラフィックを回避させることもあります。またDNS の予約フラグ Z には 1 が設定されています(DNSが発信するトラフィックはすべての DNS クエリ/レスポンスでこの値が 0 でなければならない)。Thunder VPN から送信されるポート 53 の UDP トラフィックは、図 4 に示す通りです。

Thunder VPNから送られてくるポート53のUDPトラフィックを示した図
図4 DNSの予約フラグZが1に設定された53番ポート上のThunder VPN UDPトラフィック

結論

最近では多くの企業がリモートワークを採用していますので、ネットワークセキュリティ部門は個人用VPN利用がもたらす潜在的脅威を認識して対策としてのセキュリティポリシーを見直す必要があります。

パロアルトネットワークスのApp-IDテクノロジはお客様ネットワーク内のアプリケーションやプロトコルをコントロールする機能を提供します。App-IDにより、情報セキュリティ部門とネットワークセキュリティ部門は、コンテクストに応じたアプリケーションの許可・ブロックのポリシーを通じてアプリケーションをユーザーに安全に使用してもらえるようになります。これにより、攻撃対象領域は限りなく小さくなります。

App-IDはパロアルトネットワークスの次世代ファイアウォール(Next-Generation Firewall)に搭載されており、この記事で紹介したすべてのプロトコルを含むネットワーク内VPNアプリやその基盤プロトコルに可視性を与えてくれます。App-IDはセキュリティ部門が、ネットワーク全体で「誰がいつどこでVPNアプリケーションを使用しているか」を把握し、組織が選択したポリシーをエンフォースするのに役立ちます。いま現在App-IDは最も人気のあるVPNサービス70種類以上をカバーしています。

App-IDチームはVPNアプリケーションの最新バージョンのアップデートを常にレビューしてお客様に公開しています。これらのアプリケーションはその性質上ファイアウォール回避のために頻繁にトラフィックが変更されています。

追加資料

ファイル転送の脅威: リスク要因とネットワークトラフィック可視化による緩和

セキュリティポリシー回避型 VPN クライアントがネットワーク運用上大きなリスクに

What is VPN? (VPNとは)