VPNを使用している場合、JavaScriptを使用してIPを抽出できますか?


0

VPNを使用している場合、サードパーティのWebサイトでJavaScriptまたはその他の手段を使用して実際のIPアドレスを抽出することは可能ですか?または、VPNを使用している限り、彼らが実際のIPを知る方法はありませんか?

回答:


1

JavaScript自体は、すべてのネットワークインターフェイスを列挙することを許可せず、システムの接続元のIPのみを照会します。接続するWebサイトは、接続元のIPアドレスを伝えることができます。VPNの場合、自分のIPではなく、VPNのIPアドレスから「接続」しています。

このシナリオでは、2つの「脅威エージェント」があります。

  • 接続しているWebサイト。
  • 情報を渡しているVPNサーバー。

VPNサーバーの助けを借りずにWebサイトを公開する方法

次のようなネイティブコードまたは.NET / Javaコードを完全に信頼して実行することに同意する場合:

  • ActiveXアプレット(これは確かです)
  • Javaアプレット(これは確かです)
  • .NET XBAP(これはかなり確かです)
  • フラッシュ?(誰か確認)
  • 多分、Silverlight?(誰か確認)
  • 任意のネイティブコードまたは堅牢なランタイム環境を許可するその他のブラウザプラグイン

上記の環境により、プログラムは、すべてのネットワークカード/インターフェイスのリストを含む、ネイティブオペレーティング環境に関する詳細を照会できます。これらのインターフェイスの1つは、ローカルイーサネットまたはワイヤレスインターフェイスであり、(少なくとも)プライベートNAT IPを含みますが、パブリックIPを含む場合と含まない場合があります。

VPNサーバーがユーザーを公開する方法(意図的または偶然)

VPN自体、HTTP要求にヘッダーを挿入してIPアドレスを渡すように構成できますが、その動作はVPNにとってはかなり珍しいことです。これは通常、プロキシによってのみ行われます。プロキシはVPNと混同しないようにしてください。それでも、arbitrary意的で信頼できないVPN(あなたが制御しておらず、所有者が完全に信頼していないVPN)は、IPアドレスを与えたいと判断し、それを実行するように見えるかもしれません。したがって、ソフトウェアがそれを実行しないこと、およびマシンの所有者がソフトウェアを変更してそれを実行しないことを信頼する必要があります。

問題を尋ねた方法は、実際には情報理論的な問題です。これは単純な人間の相互作用の用語で理解できます。

  • ジャックはメッセージMをコルトに送信したいと考えています。
  • ジャックは、コルトがMがジャックから発信されたことを知ることを望まない。
  • ジャックはMをサリーに渡し、コルトにメッセージを送信するように依頼します。
  • サリーは、ジャックがMの起源であることを知っています。

この時点で、次の情報で何をしたいかを決定するのは、任意の人間の俳優であるサリー次第です。

  • メッセージM
  • コルトのアイデンティティ
  • ジャックの正体
  • ジャックがMを発信したという事実
  • ジャックがMをコルトに送るように要求したという事実

サリーは次のように考えられます

  • ジャックの最悪の敵にMを送ります
  • ジャックがMを発信したという事実をジャックの最悪の敵に送信する
  • サリーが取得したすべての情報を一般に公開する
  • MをColtに送信しますが、嘘をついて、メッセージは他の誰かから発信されたと言います

VPNソフトウェアがデフォルトで特定の動作をするように設定されているかどうかは、「可能ですか?」とは非常に異なる質問です。

短い答えはイエスです、それは可能です。

VPNサーバーの所有者/操作者、およびそこで実行されているすべてのソフトウェアを本当に信頼しない限り、常に可能性があります。また、所有者/操作者が見知らぬ人で、ボックスで実行されているソフトウェアを分析する手段がない場合、あなたの身元保護されると疑う理由は絶対にありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.