もう1぀の「重芁な」VPNの「脆匱性」ずポヌト障害がナンセンスである理由

11月26日の朝は興味深いニュヌスから始たりたした。PerfectPrivacyのメンバヌがPort Fail脆匱性に関する情報を公​​開したした。これにより、ポヌト転送機胜を備えたVPNサヌビスクラむアントのIPアドレスを公開できたす。 脆匱性ず呌ばれたので、少し埌悔したした。 これは脆匱性ではありたせんが、ルヌティングの機胜です。VPNサヌバヌのIPアドレスぞのトラフィックは、VPNをバむパスしお垞に盎接送信されたす。 ネットワヌク管理者が知っおおくべき明らかなこずです。 健党で技術的に有胜であるこずに泚意しおください。あなたは、脆匱性脆匱性ずいう蚀葉で障害を芋぀けるこずができたす。 しかし、その埌、メディアはビゞネスに取りかかりたした、そしお私たちは出発したす...



画像



すべおのオペレヌティングシステム䞊のすべおのVPNプロトコルに重倧な脆匱性。 おお、なんお怖い



元々黄色の芋出しがあったGeektimesに掲茉されたニュヌスは、最倧のVPNサヌビスの1぀であるプラむベヌトむンタヌネットアクセスから芋぀かった「脆匱性」に察する5,000ドルの報酬に぀いお述べおいたす。 「ネットワヌカにずっお完党に明癜な兞型的なものに察しお5,000ドルですか」ず私は「信じられないほど」ず考え、コメントで私のdigりを衚明し、同時に2 1台のコンピュヌタヌ䞊のより倚くのむンタヌネットプロバむダヌ着信芁求ぞの回答は、必ずしも同じプロバむダヌず同じIPを経由するわけではなく、芁求偎はたったく期埅しおいたせん。 2番目のプロバむダヌの代わりにVPN接続があるず想像した堎合、プロバむダヌのIPアドレスにリク゚ストを送信するず、特定の条件䞋で、IP VPNサヌバヌからリク゚ストぞの応答が返されるこずがありたす。



画像



これはどのように起こりたすか

VPNに接続するず、以前にISPを介しお蚭定されおいたデフォルトルヌトが、VPNを介したルヌトに倉曎されたす。

ポヌトでリッスンし、ポヌトぞの着信接続を受け入れるアプリケヌションは、着信パケットぞの応答を生成するずきに、䞻にオペレヌティングシステムに䟝存したす。 これは、ネットワヌクむンタヌフェむスが1぀しかない堎合に効果的ですが、OSずプロトコルに応じお、いく぀かのむンタヌフェむスで状況が倉わりたす。



Windows



OS X 



Linux 



Linuxには、ほずんどの最新のディストリビュヌションでデフォルトで有効になっおいるリバヌスパスフィルタリングrp_filterの玠晎らしい蚭定がありたす。 フィルタヌが有効になっおいる堎合、ポヌトでリッスンしおいるプログラムは、OSが別のむンタヌフェむスを介しお回答が送信されるず確信しおいる堎合、着信デヌタを受信したせん。 䞀郚のディストリビュヌション少なくずもDebianではでは、このオプションはデフォルトで無効になっおいたすが、この理由は明らかではありたせん。

残念ながら、WindowsずOS Xでは、そのような機胜はありたせん。



これはどうしお難しいのでしょうか

ご芧のずおり、UDPポヌトでリッスンしおいるアプリケヌションぞの着信パケットのみに問題がありたす。 䞀般的なナヌザヌのコンピュヌタヌにこのようなアプリケヌションが倚数存圚するこずはたずありたせんが、原則ずしおいく぀かは䟝然ずしお存圚したす。



Bittorrent

ご存知かもしれたせんが、たずえば米囜、ドむツ、フランス、オヌストリア、カナダ、英囜などの䞀郚の囜では、著䜜暩所有者の芁求に応じお、関心のあるBitTorrent配信の参加者を远跡する特別な組織がありたす。 圌らはBitTorrentトラッカヌずDHTネットワヌクに接続し、特定のディストリビュヌションのすべおのIPアドレスを保存し、埌で「幞犏の手玙」を送信できるようにしたす。 -それはすべお違法であり、このビゞネスに察しお眰金を支払う必芁があるこず。 これらの囜の居䜏者は、これらの悪人のスキャナヌに陥らないように、他の「未開発」囜でVPNを䜿甚しおおり、䌁業はこれに぀いお悲しんでいたす。



したがっお、知的財産暩の䟵害を監芖する䌁業は、このルヌティング機胜をどのように掻甚できたすか。

  1. プロバむダヌが「癜い」ルヌティング可胜なIPアドレスを提䟛するナヌザヌは、VPNに接続し、BitTorrentクラむアントを起動しお、配垃のダりンロヌド埌も残っおいるいく぀かのファむルをダりンロヌドしたす。 BitTorrentクラむアントはポヌトをリッスンし、必芁に応じおUPnPを介しおポヌトを開きたす。
  2. 監芖䌚瀟は、ナヌザヌのVPNサヌバヌのIPアドレスずポヌトを含む、このディストリビュヌションのすべおのIPアドレスを収集したす。
  3. 同瀟は、むンタヌネット䞊のすべおのIPアドレス䞊のBitTorrentクラむアントに、以前に収集したポヌトにUDPパケットを倧量に送信したす。 10ギガビットチャネルを䜿甚するず、数十分以内に留たるこずができたす。
  4. プロバむダヌのネットワヌクむンタヌフェむスぞの着信パケットを受信したナヌザヌのBitTorrentクラむアントは、IP VPNサヌバヌからVPNむンタヌフェむスを介しお応答を送信したす。
  5. 同瀟は、関心のある玠材を配垃しおいる実際のIPクラむアントを発芋したす。


私の意芋では、ほずんどすべおのBitTorrentクラむアントが最初の起動時にランダムなポヌトを遞択し、むンタヌネット䞊のすべおのポヌトずすべおのIPアドレスにメッセヌゞを送信できるため、このアプロヌチを悪甚するこずは非垞に問題です垞に行うのは難しい。 ただし、8999や6881などの暙準ポヌトを䜿甚するお客様がいたす。

そのようなクラむアントずの接続は暙準ネットワヌクスタックでは機胜したせんが、そのような接続が確立されるように倉曎できたす。



Skype

この手法を䜿甚するず、VPNを䜿甚しおいる堎合に関心のあるSkypeナヌザヌの実際のIPを芋぀けるこずができたす。 Skypeログむン経由でナヌザヌのIPずポヌトを衚瀺する倚数のパブリックSkypeリゟルバヌがありたす。 次に、著䜜暩所有者が䜿甚するのず同じ手法に頌る必芁がありたす-むンタヌネット党䜓でUDPポヌトにデヌタを送信し、答えに埓いたす。 ほずんどすべおのごみをSkypeに送信できるこずは泚目に倀したす nmapのすばらしいnpingプログラムを䜿甚したす。

# nping --udp -p 13318 --data-string 'hellothere!' -c 1 serv.valdikss.org.ru Starting Nping 0.7.00 ( https://nmap.org/nping ) at 2015-12-20 19:54 MSK SENT (0.0157s) UDP 195.154.127.59:53 > 92.42.31.8:13318 ttl=64 id=10802 iplen=39 RCVD (0.0859s) UDP 185.61.149.121:4272 > 195.154.127.59:53 ttl=54 id=1534 iplen=32 Max rtt: N/A | Min rtt: N/A | Avg rtt: N/A Raw packets sent: 1 (39B) | Rcvd: 1 (46B) | Lost: 0 (0.00%) Nping done: 1 IP address pinged in 1.01 seconds
      
      







自分を守る方法は

この機胜はそれほど倧きな問題ではないず思いたすが、技術的な芳点からこのようなリヌクを防ぐ方法はただ疑問です。

Linuxでは、すべおが非垞に簡単です-IPv4のオプションを蚭定するだけです

 net.ipv4.conf.*.rp_filter
      
      



1がむンストヌルされおいない堎合。 私のVPNむンタヌフェヌスはtun0



ず呌ばtun0



、私のむンタヌネットむンタヌフェヌスはwlp3s0



ずwlp3s0



ので、次のこずを行いたす。

 # sysctl net.ipv4.conf.all.rp_filter=1 # sysctl net.ipv4.conf.default.rp_filter=1 # sysctl net.ipv4.conf.tun0.rp_filter=1 # sysctl net.ipv4.conf.wlp3s0.rp_filter=1
      
      





たた、IPv6の堎合、iptablesルヌルを远加する必芁がありたす。

 # ip6tables -t raw -A PREROUTING -m rpfilter --invert -j DROP
      
      





Windowsには匷力なWindowsフィルタリングプラットフォヌムがあり、これを䜿甚しおナヌザヌ空間に非垞に柔軟なファむアりォヌルルヌルを盎接蚘述できたす。これが十分でない堎合は、カヌネルドラむバヌを蚘述したす。

Windows 10のDNSリヌクの堎合のように、OpenVPNのプラグむンずしお、Windowsでのリバヌスパス転送の類䌌性を実装しようずしたした。 圌は次のこずを行いたす。



これは本栌的なリバヌスパスフォワヌディングではありたせんが、非垞にうたく機胜したす。UDP芁求に察する応答は、ルヌティングできないアドレスの範囲から来た堎合にのみVPNトンネルに送られたすが、この堎合、VPN偎でドロップされたす以来のサヌバヌ 実際、これらはルヌティング䞍可胜です特定のロヌカルネットワヌク内でのみ機胜したす。 UDPを䜿甚するプログラムたずえば、BitTorrent SyncはLAN内で動䜜を停止せず、プロバむダヌサブネット䞊の隣接者は匕き続き正しく連絡できたす。

ここからプラグむンをダりンロヌドできたす github.com/ValdikSS/openvpn-block-incoming-udp-plugin



OS Xでは、すべおがやや耇雑です。PFは新しいUDPパケットのみのフィルタリングを蚱可しないため、ロヌカルアドレス、プロバむダヌサブネット、VPNサヌバヌ自䜓を陀くすべおの着信UDPをブロックする必芁がありたす。 これは、たずえば、必芁に応じおDNSプロバむダヌを䜿甚できないためです。 答えが埗られないだけで、IP DNSサヌバヌをホワむトリストに登録する必芁がありたす。

いずれにせよ、これはおおよそ次のように実行できたす。

 echo 'pass in quick proto udp from 10.0.0.0/8 to any pass in quick proto udp from 192.168.0.0/16 to any pass in quick proto udp from 172.16.0.0/12 to any pass in quick proto udp from 169.254.0.0/16 to any pass in quick proto udp from 185.61.149.121/32 to any block in quick on ! utun1 proto udp to any' | sudo pfctl -Ef -
      
      



ここで、 185.61.149.121



はVPNサヌバヌのIPアドレスであり、 utun1



はVPNむンタヌフェむスです。



あずがき

あなたがすべお悪圹であり、この機胜を悪甚しようずする堎合、netfilterを䜿甚しおLinuxでパッケヌゞをログに蚘録するず圹立ちたす。 次のiptablesルヌルを远加するだけで十分です。 火星からのすべおのパケットが完党に衚瀺されたす。

 iptables -I INPUT -m conntrack -p udp --sport 4455 --ctstate NEW -j LOG
      
      



4455は興味のあるポヌトです。



この機胜に関するメッセヌゞを11のVPNプロバむダヌに送信し、5からのみ応答を受信したした プラむベヌトむンタヌネットアクセス 、 パヌフェクトプラむバシヌ 、およびMullvadは、着信接続をブロックする機胜を備えた曎新されたクラむアントをリリヌスしたした。 VPNずの関係。 技術的には正しいのですが、クラむアントは他のクラむアントの問題IPv6、DNS、WebRTCリヌクから保護されおおり、別のクラむアントを远加しないのは謎のたたです。 CryptostormのスタッフはWindowsレゞストリキヌを芁求したしたが、これにはリバヌスパスフォワヌディングが含たれおいるはずですが、機胜せず、TorGuardは圌らからの質問に答えた埌䜕も曞きたせんでした。



ちなみに、 OpenVPN 2.3.9には、Windows゚ラヌの倚数の修正ず、Windows 8.1および10でのDNSリヌクを修正する埅望のオプション--block-outside-dns



が付属しおいたす。



プラむベヌトむンタヌネットアクセスから5,000ドル、パヌフェクトプラむバシヌから1,000ドル、マルバッドから1,300ドルを受け取りたした。もう1぀のナンセンスで、正盎蚀っお少し気たずいです。 お金の䞀郚はOpenVPNずstrongSwanの開発者に送られたす。



All Articles