การตรวจสอบการใช้ VPN ทำได้ง่ายเพียงใด?

เครือข่ายส่วนตัวเสมือน (VPN) แก้ปัญหาความเป็นส่วนตัวได้มากมาย เนื่องจาก VPN มักจะเข้ารหัสการรับส่งข้อมูลระหว่างคอมพิวเตอร์ของคุณและผู้ให้บริการ VPN จึงทำให้ผู้สังเกตการณ์ดูการรับส่งข้อมูลของคุณยากมากเพื่อดูว่าคุณทำอะไรอยู่ อย่างไรก็ตามมีหลายคนที่ต้องการซ่อนความจริงที่ว่าพวกเขากำลังใช้ VPN อยู่ เช่นคนในประเทศที่ห้าม VPN หรือสถานการณ์อื่น ๆ ที่การใช้ VPN ไม่ได้รับอนุญาตหรือถูกบล็อกโดยวิธีการทางเทคนิค ในบทความนี้เรามุ่งเน้นไปที่ชนิดของข้อมูลที่ผู้สังเกตการณ์สามารถรวบรวมจากการจับแพ็คเก็ตเครือข่ายและวิธีการที่ข้อมูลนั้นสามารถใช้ในการตรวจสอบการใช้ VPN.


ความเป็นมาของปัญหา

คำถามที่ไหม้คือ“ ทำไม”? ใครจะสนใจถ้ามีคนค้นพบว่าคุณกำลังใช้ VPN หากการรับส่งข้อมูลถูกเข้ารหัสอย่างหนัก แต่อย่างใดปัญหาคืออะไร?

เป็นเรื่องจริงที่ในหลาย ๆ สถานการณ์และในหลาย ๆ ประเทศมันไม่สำคัญเลยหากผู้สังเกตการณ์ตรวจพบการใช้ VPN อย่างไรก็ตามมีหลายประเทศที่ห้ามการใช้ VPN ดังนั้นจึงสำคัญสำหรับผู้ใช้ VPN ในประเทศเหล่านั้นที่จะรู้ว่าพวกเขาสามารถค้นพบได้อย่างไร.

เพื่อตรวจสอบว่ามีการใช้ VPN ผู้สังเกตการณ์จะต้องมีการเข้าถึงเราเตอร์ที่ปริมาณการใช้งานเป้าหมายผ่าน ในกรณีของเหยื่อเป้าหมายผู้โจมตีอาจใช้ทรัพยากรจำนวนมากเพื่อระบุวิธีที่จะใช้เราเตอร์ที่เหยื่อรายนั้นใช้ ในกรณีของการเฝ้าระวังระดับรัฐการตรวจจับที่มีประสิทธิภาพจะต้องมีการควบคุมเราเตอร์จำนวนมาก เมื่อคุณรวมสองสิ่งเหล่านี้เข้าด้วยกัน - องค์กรที่ใส่ใจว่าคุณกำลังใช้และ VPN และนอกจากนี้ยังมี มีความสามารถในการควบคุมเราเตอร์จำนวนมากซึ่งมักจะบ่งบอกถึงนักแสดงภัยคุกคามระดับประเทศ.

โปรดทราบว่าบทความนี้เกี่ยวข้องกับวิธีที่ผู้สังเกตการณ์สามารถค้นพบการใช้ VPN ได้ ไม่จำเป็นต้องหมายความว่าข้อมูลที่เข้ารหัสภายในอุโมงค์ VPN นั้นสามารถใช้ประโยชน์ได้ง่ายขึ้น.

วิธีการทดสอบ

หากไม่มีการเข้าถึงทรัพยากรระดับรัฐแพลตฟอร์มการทดสอบและวิธีการของฉันจะเล็กกว่าเล็กน้อย ฉันสร้างเครือข่ายภายในขนาดเล็กโดยใช้ Virtual Machines (VM) สามเครื่องกับ VirtualBox โทโพโลยีเครือข่ายเป็นเช่นนี้:

ทดสอบการตั้งค่าเครือข่าย VPN

ฉันติดตั้งซอฟต์แวร์การดมแพ็คเก็ตบน VM เราเตอร์ OpenWRT แล้วทดสอบการกำหนดค่า VPN ต่างๆในเครื่องเสมือนอีกสองเครื่อง ซอฟต์แวร์การดักจับแพ็คเก็ต tcpdump อนุญาตให้ฉันจับภาพปริมาณข้อมูลเครือข่าย VMs สำหรับการวิเคราะห์ ในการติดตั้งที่สมจริงยิ่งขึ้นซอฟต์แวร์จับแพ็คเก็ตน่าจะติดตั้งในเราเตอร์บนอินเทอร์เน็ตหรืออย่างน้อยภายในเครือข่ายของ ISP การวางตำแหน่งเชิงกลยุทธ์ของซอฟต์แวร์การวิเคราะห์จะต้องมีความรู้เกี่ยวกับจุดบรรจบกันที่น่าสนใจบนอินเทอร์เน็ตที่มีการไหลของข้อมูลเป้าหมาย ในเครือข่ายการทดสอบของฉันฉันรู้ด้วยความมั่นใจ 100% ว่าการรับส่งข้อมูลไปยังและจากเครื่องเสมือนของฉันจะผ่านเราเตอร์ OpenWRT นั้น ดังนั้นจึงเป็นสถานที่ที่ดีที่สุดสำหรับฉันในการวางเครื่องมือรวบรวม.

แหล่งที่มาที่ไม่ใช่ด้านเทคนิคของตัวบ่งชี้ VPN

ไม่ใช่แหล่งข้อมูลทั้งหมดที่ระบุว่าการใช้ VPN นั้นเป็นข้อมูลทางเทคนิค ในขณะที่บางคนมีเทคนิคมากเช่นการวิเคราะห์แพ็คเก็ต แต่บางอย่างก็ไม่ใช่เทคนิคเช่นข้อผิดพลาดของมนุษย์และกิจวัตรประจำวัน.

การรับส่งข้อมูลเครือข่ายที่ไม่ตั้งใจ

ผู้ใช้ VPN ส่วนใหญ่มีซอฟต์แวร์ไคลเอนต์ที่ต้องเปิดตัวเพื่อให้สามารถสร้าง VPN ได้ เป็นการยากมากที่จะตรวจสอบให้แน่ใจว่าไม่มีการรับส่งข้อมูลผ่านอินเทอร์เน็ตก่อนที่จะมีการสร้าง VPN เมื่อคอมพิวเตอร์บูทขึ้น แม้แต่ VPN ที่มีสวิตช์ฆ่าอาจไม่สามารถทำอะไรกับการรับส่งข้อมูลที่เกิดขึ้นระหว่างการบูทระบบ.

vypr-VPN-AutoConnect โหมด

vypr-VPN-สวิทช์โหมด

เพื่อทดสอบสิ่งนี้ฉันตั้งค่าการเชื่อมต่ออัตโนมัติและฆ่าตัวเลือกสวิตช์ของ VyprVPN ในเครื่องเสมือน Windows ฉันปิดเครื่อง Windows เริ่มจับแพ็คเก็ตบนเราเตอร์ OpenWRT และเริ่มต้นเครื่อง Windows สิ่งที่สร้างแพ็กเก็ตจำนวนมากและเป็นที่น่าสนใจก็คือลำดับทั้งสองนี้.

ก่อนอื่นเราสามารถเห็นการส่ง Ping จำนวนมากไปยังช่วงของ IP ที่คล้ายกัน ฉันไม่ได้ตั้งใจจัดกลุ่มแพ็กเกจเหล่านี้ - นี่คือวิธีการส่งออแกนิก:

vypr-VPN-Windows-บูต ICMP-แพ็คเก็ต

สิ่งนี้ชี้ให้เห็นว่ามีบางสิ่งพยายามแจกแจงเซิร์ฟเวอร์ สาเหตุทั่วไปของการรับส่งข้อมูลประเภทนี้ในสถานการณ์ VPN คือไคลเอนต์ VPN ที่พยายามกำหนดเซิร์ฟเวอร์ที่เร็วที่สุด วิธีหนึ่งในการทำเช่นนี้คือการส่งแพ็คเก็ต ICMP (รู้จักกันในชื่อปิง) ไปยังชุดของเซิร์ฟเวอร์เพื่อดูว่าอันไหนที่กลับมาเร็วที่สุด.

เราสามารถเห็นได้จากหน้าจอแรกที่ 209.99.63.34 ส่งคืนที่เร็วที่สุดใน 99 มิลลิวินาที ยิ่งไปกว่านั้นในการจับแพ็คเก็ตเราก็เห็นว่าทราฟฟิกส่วนใหญ่จากจุดนั้นถูกเข้ารหัสและถูกกำหนดไว้สำหรับ 209.99.63.34

vypr-VPN-Windows-บูต QUIC-แพ็คเก็ต

ชิ้นต่อไปของเกมไขปริศนาคือการค้นหาว่า IP นั้นคืออะไร การใช้ IP WHOIS ซึ่งระบุเจ้าของที่ลงทะเบียนของ IP เราจะเห็นว่าทั้งหมดยกเว้น IP เหล่านี้เป็นของ YHC Corporation และแก้ไขเซิร์ฟเวอร์ในศูนย์ข้อมูล Data Foundry:

209.99.108.46
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.109.167
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.113.70
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209-99-115-97
209.99.117.82
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.21.36
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
OrgTechEmail: [email protected]
209.99.22.46
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.60.34
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.61.42
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.62.34
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
OrgName: การจัดการโรงไฟฟ้า, Inc
OrgTechEmail: [email protected]
209.99.63.34
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.63.34
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.67.41
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.72.70
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.75.70
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.93.34
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.94.37
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]
209.99.95.40
องค์กรชื่อ: YHC Corporation
OrgTechEmail: [email protected]

ขั้นตอนถัดไปแบบตรรกะจะสแกน IP เหล่านั้นเพื่อดูว่าบริการใดที่ทำงานอยู่ ฉันจะไม่ให้รายละเอียดเกี่ยวกับวิธีการทำ แต่การทดสอบของฉันแสดงให้เห็นว่าแบนเนอร์การเชื่อมต่อเริ่มต้นที่เซิร์ฟเวอร์ส่วนใหญ่แสดงถูกลบออกจากเซิร์ฟเวอร์ VyprVPN ดังนั้นจึงไม่มีการบอกชัดเจนว่า IP เหล่านี้ใช้เซิร์ฟเวอร์ VPN.

ไม่มีอะไรมากที่คุณสามารถทำได้เกี่ยวกับการทำงานของคอมพิวเตอร์ก่อนที่จะทำการบูท ดังนั้นหากคุณต้องการทำให้ลำดับการติดตั้งประเภทนี้สับสนคุณจะต้องเรียกใช้ VPN "ด้านหน้า" ของคอมพิวเตอร์ของคุณ การใช้ไคลเอนต์ VPN บนเราเตอร์ของคุณแทนที่จะเรียกใช้ไคลเอนต์ในคอมพิวเตอร์ของคุณเป็นวิธีหนึ่งในการทำเช่นนี้ คุณจะยังคงทำงานในลำดับการเริ่มต้นเดียวกันเมื่อเราเตอร์รีสตาร์ท แต่โดยปกติแล้วจะน้อยกว่าคอมพิวเตอร์ของคุณ.

ไม่มีแพ็กเก็ตที่ไม่ได้เข้ารหัส

ดังที่ฉันได้กล่าวไว้ข้างต้นเมื่อการ Ping เสร็จสิ้นการดักจับแพ็คเก็ตจะแสดงปริมาณข้อมูลที่เข้ารหัสไปยัง IP ที่เร็วที่สุด หากผู้สังเกตเห็นเห็นเฉพาะแพ็กเก็ตที่เข้ารหัสและไม่ใช่แพ็กเก็ตที่ไม่เข้ารหัสเดียวนั่นอาจเป็นสัญญาณว่ามีการใช้ VPN ในขณะที่โลกกำลังเคลื่อนที่อย่างรวดเร็วไปสู่การเข้ารหัสข้อมูลให้มากที่สุดเท่าที่จะเป็นไปได้บนเว็บ แต่ก็ยังมีคำขอบางอย่างที่ไม่ได้เข้ารหัส ในบรรดาเหล่านี้คือการค้นหา DNS การค้นหา NNTP (เซิร์ฟเวอร์เวลา) และการประจบสอพลอของการร้องขอโพรโทคอลอื่น ๆ เช่น FTP และ Telnet ซึ่งบางครั้งมีการใช้งานในแอปพลิเคชันบางส่วนของเรา แต่ไม่รองรับการเข้ารหัสเลย.

การรั่วไหลของจากการรักษาความปลอดภัยการดำเนินงานของมนุษย์เลอะเทอะ (OpSec)

ข้อมูลที่มีความหมายสามารถได้รับจากเป้าหมายโดยใช้ข้อมูลที่ดูเหมือนเล็กน้อย หลายคนใช้เวลาและความพยายามในการบรรเทาสิ่งที่พวกเขารับรู้ว่าเป็นสิ่ง "สำคัญ" เท่านั้นที่จะได้รับการระบุโดยข้อมูลเล็ก ๆ น้อย ๆ ที่พวกเขาไม่ได้คิด ตัวอย่างบางส่วนรวมถึงหน่วยความจำที่มีขนาดยาวของอินเทอร์เน็ตซึ่งเปิดเผยว่าผู้ดูแลระบบอีเมลของ Hillary Clinton น่าจะเป็นผู้ชายที่ชื่อ Paul Combetta หวาดกลัว Pirate Roberts, AKA Ross Ulbricht ผู้ถูกกล่าวหาในตลาดอินเทอร์เน็ต Silk Road ที่ผิดกฎหมายถูกดำเนินคดีส่วนใหญ่เนื่องจากข้อมูลบนแล็ปท็อปของเขาที่ถูกพรากไปทางร่างกายจากเขาในขณะที่ฟุ้งซ่านที่ห้องสมุดสาธารณะ.

ผู้สังเกตการณ์สามารถใช้สิ่งต่าง ๆ เช่นรอบกิจกรรมเพื่อตรึงเขตเวลาของเป้าหมายหรือการปรากฏตัวของอักขระพิเศษในข้อความเพื่อระบุรูปแบบภาษาที่สอดคล้องกับประเทศเป้าหมาย ไม่มีรายการสิ่งที่ต้องคำนึงถึงทั้งหมดเมื่อพิจารณาถึงความปลอดภัยในการปฏิบัติงานเนื่องจากการหาวิธีใหม่ในการอ้างอิงข้ามข้อมูลนั้นส่วนใหญ่เป็นการออกกำลังกายในจินตนาการและทรัพยากร.

อย่างไรก็ตามมีบางสิ่งที่เกี่ยวข้องกับการจับแพ็คเก็ตซึ่งสามารถระบุการใช้ VPN ได้.

สัญญาณบอกเล่าจากข้อมูลเมตาแพ็คเก็ต

สามารถคาดเดาคีย์ PFS ได้อีกครั้ง

เนื่องจากปกติทราฟฟิก VPN จะถูกเข้ารหัสจึงมักถูกซ่อนจากสายตาที่แอบมอง การเข้ารหัสใช้งานได้ยากเพราะข้อมูลที่เข้ารหัส“ เดียรัจฉาน” นั้นยากที่จะเปิดเผยเนื้อหาข้อความที่ชัดเจน อันที่จริงการทำลายการเข้ารหัสนั้นยากมากที่โครงการเฝ้าระวังขนาดใหญ่บางครั้งก็รวบรวมข้อมูลทั้งหมดที่พวกเขาสามารถทำได้ด้วยความหวังว่าพวกเขาจะสามารถทำลายการเข้ารหัสได้ในอนาคตในอนาคตเมื่อพลังงานของคอมพิวเตอร์เพิ่มขึ้นหรือสามารถรับกุญแจได้ ที่ใช้ในการเข้ารหัสข้อมูล Perfect Forward Secrecy (PFS) เป็นวิธีการที่สามารถใช้เพื่อป้องกันสถานการณ์หลัง.

Perfect Forward Secrecy สร้างคีย์การเข้ารหัสที่ใช้ในการเข้ารหัสทราฟฟิก VPN เป็นระยะ เมื่อสร้างคู่คีย์ใหม่คู่ก่อนหน้าจะถูกทำลาย ซึ่งหมายความว่าแพ็กเก็ตที่เข้ารหัสใด ๆ ที่เก็บรวบรวมไม่สามารถถอดรหัสได้ในภายหลังเนื่องจากคีย์ที่ใช้ในการเข้ารหัสไม่มีอยู่อีกต่อไป.

OpenVPN รองรับ PFS ในขณะที่บันทึกข้อมูลสำหรับบทความนี้ฉันลดอัตราการปั่นจักรยานลงไปที่ 10 วินาทีเพื่อจับภาพกระบวนการที่เกิดขึ้น ฉันพบว่าเมื่อการฟื้นฟูคีย์เกิดขึ้นลำดับของแพ็กเก็ตต่อไปนี้ถูกสร้างขึ้น:

09: 01: 48.461276 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 94
09: 01: 54.749114 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 65
09: 01: 58.895381 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 86
09: 01: 58.951091 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 94
09: 01: 58.951614 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 259
09: 01: 59.007916 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 94
09: 01: 59.008027 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 94
09: 01: 59.008265 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 94
09: 01: 59.008300 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 94
09: 01: 59.062927 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 256
09: 01: 59.106521 IP 192.168.1.204.openvpn > 104.254.92.61.openvpn: UDP, ความยาว 575

สิ่งที่น่าสังเกตเกี่ยวกับลำดับนี้คือขนาดของแพ็คเก็ตจะเท่ากันทุกครั้งที่มีการสร้างคีย์ใหม่ ดังนั้นเมื่อใดก็ตามที่ฉันเห็นลำดับของแพ็คเก็ตที่มีขนาดเหล่านี้ในการจับแพ็คเก็ตของฉันฉันรู้ว่ามีการวนรอบที่สำคัญ:

94
65
86
94
259
94
94
94
94
256
575

เนื้อหาที่ทำซ้ำในทางทฤษฎีจะสร้างลำดับของแพ็กเก็ตซ้ำเช่นนี้ในทางทฤษฎี แต่ก็ยังสามารถใช้เป็นตัวบ่งชี้ว่า PFS อาจเล่นอยู่ เมื่อรวมกับข้อมูลอื่นแล้วข้อมูลนี้อาจเพียงพอที่จะยืนยันการเชื่อมต่อ VPN.

แพ็คเก็ตทั้งหมดกำหนดให้เป็น IP เดียวกัน

ในระหว่างการใช้อินเทอร์เน็ตตามปกติผู้คนและคอมพิวเตอร์จะขอข้อมูลจากเว็บไซต์ต่างๆ แต่ละไซต์เหล่านั้นมีที่อยู่ IP ที่แตกต่างกัน เมื่อใช้ VPN ทุกแพ็กเก็ตเดียวจะถูกกำหนดไปยังเซิร์ฟเวอร์ VPN เซิร์ฟเวอร์ VPN ลอกเลเยอร์การเข้ารหัส VPN ออกจากแต่ละแพ็คเก็ตเพื่อเปิดเผยแพ็คเก็ตจริงแล้วส่งไปยังปลายทางที่แท้จริง เซิร์ฟเวอร์ VPN ทำเช่นเดียวกันกับการตอบกลับ จะได้รับแพ็คเก็ตการตอบสนองห่อในเลเยอร์การเข้ารหัสแล้วส่งแพ็คเก็ตไปยังคอมพิวเตอร์ของผู้ใช้.

การจับแพ็คเก็ตที่แสดงคอมพิวเตอร์ที่ส่งปริมาณข้อมูล 100% ไปยัง IP เดียวเป็นตัวบ่งชี้ที่ดีว่ามีการใช้ VPN หรือพร็อกซี.

Psiphon เป็นเครื่องมือหลบเลี่ยงการเซ็นเซอร์อินเทอร์เน็ต มันมีฟังก์ชั่นที่น่าสนใจที่สามารถต่อสู้สิ่งนี้ได้ในระดับหนึ่ง มันมีโหมดแยกอุโมงค์ซึ่งใช้แค่อุโมงค์ Psiphon เป็นหลักสำหรับการจราจรที่ออกจากประเทศของคุณเอง.

comparitech-Psiphon-splittunnel โหมด

เพื่อดูว่าสิ่งนี้ดูที่ระดับแพ็คเก็ตฉันเปิดตัว Psiphon และทดสอบสองไซต์ ฉันอยู่ในแคนาดาและนี่คือตัวอย่างของการรับส่งข้อมูลที่กำหนดไว้สำหรับผู้รับจดทะเบียนโดเมน. CA ของเรา ในกรณีนี้ปลายทางของฉันจะปรากฏชัดเจนในการจับแพ็คเก็ต.

8: 30: 14.213668 IP 192.168.1.210.58787 > www.cira.ca.https: Flags [.], ack 1026833, ชนะ 64240, ความยาว 0
08: 30: 14.229178 IP www.cira.ca.https > 192.168.1.210.58787: Flags [.], seq 1026833: 1028293, ack 715, ชนะ 5094, ความยาว 1460
08: 30: 14.229427 IP www.cira.ca.https > 192.168.1.210.58787: Flags [.], seq 1028293: 1031213, ack 715, ชนะ 5094, ความยาว 2920
08: 30: 14.229781 IP 192.168.1.210.58787 > www.cira.ca.https: Flags [.], ack 1031213, ชนะ 64240, ความยาว 0

จากนั้นฉันไปเยี่ยมชมเว็บไซต์ Comparitech ซึ่งโฮสต์ในสหรัฐอเมริกา:

8: 29: 48.028789 IP li832-56.members.linode.com.ssh > 192.168.1.210.58659: Flags [P. ], seq 107809: 108277, ack 19080, ชนะ 1392, ความยาว 468
08: 29: 48.029101 IP 192.168.1.210.58659 > li832-56.members.linode.com.ssh: Flags [.], ack 108277 ชนะ 856, ความยาว 0
08: 29: 48.029306 IP 192.168.1.210.58659 > li832-56.members.linode.com.ssh: Flags [P. ], seq 19080: 19132, ack 108277, ชนะ 856, ความยาว 52
08: 29: 48.108658 IP li832-56.members.linode.com.ssh > 192.168.1.210.58659: Flags [.], ack 19132, ชนะ 1392, ความยาว 0

โปรดสังเกตว่าปริมาณการใช้งานที่ถูกส่งไปยังสหรัฐอเมริกาถูกส่งไปยังเซิร์ฟเวอร์ Linode แทนที่จะไปที่ comparitech.com Linode เป็น บริษัท เซิร์ฟเวอร์ที่มีขนาดใหญ่มากและไม่แปลกที่จะเห็นทราฟฟิกที่กำหนดไว้สำหรับเซิร์ฟเวอร์ Linode Psiphon ขัดขวางการรับส่งข้อมูลโดยใช้ช่องสัญญาณ SSH เพื่อซ่อนร่องรอยของ VPN และ DNS reverse (rDNS) สำหรับเซิร์ฟเวอร์ Psiphon ที่ Linode ไม่ได้หักล้างการเชื่อมโยงกับ Psiphon rDNS เพิ่งแสดงให้เห็นว่า Linode เป็นเจ้าของ IP ซึ่งคาดว่า มีเพิ่มเติมเกี่ยวกับ rDNS ในส่วน obfuscation ในบทความนี้.

ความไม่สอดคล้องกันในระบบปฏิบัติการและข้อมูลลายนิ้วมือแพ็คเก็ต

แม้ว่าระบบเครือข่าย TCP จะไม่เชื่อเรื่องระบบปฏิบัติการ แต่ระบบปฏิบัติการที่ต่างกันก็สร้างแพ็คเกจที่มีค่าต่างกัน ตัวอย่างเช่นค่าแพ็คเก็ต Time-To-Live (TTL) เริ่มต้นจะแตกต่างกันไปในแพ็กเก็ตที่สร้างขึ้นในระบบที่แตกต่างกัน ระบบ Windows ส่วนใหญ่จะตั้งค่าแพ็กเก็ต TTL เป็น 128 โดยค่าเริ่มต้นในขณะที่ระบบ Linux ส่วนใหญ่จะตั้งเป็น 64 เนื่องจาก TTL เป็นส่วนที่มองเห็นได้ของแพ็คเก็ตที่จับได้จึงเป็นไปได้ที่จะพิจารณาว่าระบบปฏิบัติการใด นอกจากนี้ยังมีสัญญาณบอกเล่าเรื่องราวอื่น ๆ ในการสร้างแพ็คเก็ตเช่นความยาวและขนาดเซ็กเมนต์สูงสุด (MSS) ซึ่งแตกต่างจากระบบปฏิบัติการไปยังระบบปฏิบัติการ.

ตัวอย่างด้านล่างเป็นส่วนหนึ่งของแพ็กเก็ตที่สร้างขึ้นจากระบบ Windows หมายเหตุ ttl 127 ค่าในบรรทัดสุดท้ายถูกตั้งค่าเป็น 127 นี่เป็นเพราะ TTL ถูกแสดงในจำนวนของ“ hops” ทุกครั้งที่แพ็กเก็ตเคลื่อนที่ผ่านอุปกรณ์เช่นเราเตอร์ TTL ของมันจะถูกลดขนาดลงหนึ่งอัน ในกรณีนี้ TTL เริ่มต้นที่ 128 แต่เมื่อฉันจับมันบนเราเตอร์ - หลังจากหนึ่งฮอป - ตอนนี้ 127 แต่ฉันยังสามารถบอกได้ว่ามันไม่เคย 64 ดังนั้นนี่น่าจะเป็นแพ็กเก็ตที่สร้างขึ้นในระบบ Windows.

08: 08: 51.657495 IP (tos 0x0, ttl 64, id 32150, offset 0, แฟล็ก [DF], proto UDP (17), ความยาว 177)
google-สาธารณะ DNS-a.google.com.domain > 192.168.2.139.59414: 40501 3/0/0 cdn-3.convertexperiments.com CNAME cdn-3.convertexperiments.com.edgekey.net., cdn-3.convertexperiments.com.edgekey.net CNAME e5289.g.akamaiedge.net., e5289.g.akamaiedge.net A 104.94.35.212 (149)
08: 08: 51.659278 IP (tos 0x0, ttl 127, id 3890, offset 0, แฟล็ก [DF], proto TCP (6), ความยาว 52)

แพ็คเก็ตที่จับจากเครื่องลีนุกซ์มี TTL 63 หลังจากกระโดดครั้งแรก นี่เป็นเพราะเครื่อง Linux ส่วนใหญ่ตั้งค่าเริ่มต้นของแพ็กเก็ต TTL เป็น 64.

08: 15: 55.913493 IP (tos 0x0, ttl 63, id 41443, offset 0, แฟล็ก [DF], proto UDP (17), ความยาว 56)
192.168.2.139.48635 > resolver1.ihgip.net.domain: 47200+ A? google.com (28)

แต่อะไรนะ? ทำไมจึงเป็นเรื่องสำคัญที่จะต้องรู้ว่าระบบปฏิบัติการใดที่สร้างแพ็คเก็ต?

หากผู้สังเกตการณ์มีความรู้เฉพาะด้านของเป้าหมายมันอาจมีความสำคัญมาก หากเป้าหมายเป็นที่รู้จักกันในการใช้ Windows - อาจเป็นสมาชิกขององค์กรขนาดใหญ่ที่ใช้ Windows ตลอด - แต่แพ็คเก็ตที่จับจากเป้าหมายนั้นแสดงว่าพวกเขาถูกสร้างขึ้นบนเครื่อง Linux นั่นเป็นตัวบ่งชี้ที่ดีว่า VPN หรือพร็อกซี ชนิดที่ใช้งานอยู่ เป็นเรื่องที่น่าสังเกตว่าเซิร์ฟเวอร์ VPN เกือบทั้งหมดทำงานบนเซิร์ฟเวอร์ Linux หรือ Unix เหมือนกัน.

เป็นไปได้ที่จะปรับพารามิเตอร์แพ็คเก็ตในระบบส่วนใหญ่ แต่มีเพียงไม่กี่คนที่ผ่านความยาวนี้.

เทคนิคการทำให้งงไม่เพียงพอจากผู้ให้บริการ VPN

การวิเคราะห์เครือข่ายมีมากกว่าการรวบรวมแพ็คเก็ต กระบวนการเสริมเช่น DNS สามารถมีบทบาทได้ ผู้ใช้ VPN หลายคนตระหนักถึง DNS เพราะการส่งคำสั่ง DNS อย่างชัดเจนเป็นวิธีหนึ่งที่ผู้สังเกตการณ์จะกำหนดว่าคุณกำลังเยี่ยมชมหรือกำลังจะไปที่ไหน อย่างไรก็ตามมีผู้ใช้งานจำนวนน้อยที่รับรู้ Reverse DNS (rDNS) เช่นเดียวกับ DNS ที่เชื่อมโยงชื่อโดเมนกับที่อยู่ IP rDNS จะเชื่อมโยงที่อยู่ IP กับชื่อโฮสต์และชื่อโฮสต์มักจะระบุเจ้าของ IP นอกจากนี้ไลบรารีการเขียนโปรแกรมและระบบปฏิบัติการส่วนใหญ่จะมาพร้อมกับฟังก์ชั่นมาตรฐาน gethostnameby * () บางเวอร์ชั่นซึ่งขยายความสามารถของระบบในการเชื่อมโยง IP และชื่อโฮสต์.

Reverse DNS ไม่สำคัญเท่ากับ DNS“ ปกติ” เพราะ rDNS ไม่ได้มีส่วนร่วมในการกำหนดเส้นทางการรับส่งข้อมูล แต่จะใช้เป็นหลักในการระบุความเป็นเจ้าของทรัพย์สินทางปัญญา มีเพียงเจ้าของที่อยู่ IP เท่านั้นที่สามารถเชื่อมโยงบันทึก rDNS กับมัน ดังนั้นการตรวจสอบเร็กคอร์ด rDNS ของที่อยู่ IP ให้การรับรองที่สมเหตุสมผลว่าใครเป็นเจ้าของหรืออย่างน้อยที่สุดผู้ที่เจ้าของต้องการให้คุณคิดว่าเป็นเจ้าของ โปรดทราบว่าไม่จำเป็นต้องใช้ rDNS และที่อยู่ IP จำนวนมากไม่มีรายการ rDNS เลย.

ลองดูตัวอย่างของโดเมน facebook.com ระเบียน DNS A จัดทำโดยแบบสอบถาม DNS มาตรฐานแสดงที่อยู่ IP นี้:

$ dig + สั้น facebook.com
31.13.67.35

ตอนนี้ให้ใช้การสืบค้น DNS ย้อนกลับหรือฟังก์ชั่น gethostnamebyaddr () เพื่อดูว่าใครเป็นเจ้าของ IP นั้น:

$ host -n 31.13.67.35
35.67.13.31.in-addr.arpa ชื่อโดเมนชี้ขอบ - star-mini-shv-01-mia3.facebook.com

เราสามารถเห็นได้จากสิ่งนี้ว่า Facebook เป็นเจ้าของที่อยู่ IP นั้นจริง ๆ อย่างไรก็ตามไซต์ส่วนใหญ่ไม่ได้เป็นเจ้าของ IP ของตัวเอง พวกเขาจะเช่าและเป็นขององค์กรโดยพลการหรืออาจเป็นเจ้าของโดยหน่วยงานที่ไม่ชัดเจน Amazon เป็นตัวอย่างของผู้ให้บริการคอมพิวเตอร์ขนาดใหญ่ที่ใช้โดยหลาย บริษัท ข้อความค้นหา rDNS สำหรับที่อยู่ IP ของบริการอินเทอร์เน็ตจำนวนมากนั้นแสดงให้เห็นว่า Amazon เป็นเจ้าของ IP และดังนั้นข้อมูลจึงไม่ค่อยมีประโยชน์ในการพิจารณาว่าใครเป็นผู้ดำเนินการ IP อีกตัวอย่างคือ Google Google มีความลึกซึ้งยิ่งขึ้นเล็กน้อยในรายการ rDNS แต่ก็ยังคงรักษาข้อมูลความเป็นเจ้าของ นี่คือวิธีที่ DNS ย้อนกลับค้นหา IP ของ Google:

$ dig + short google.com
216.58.207.46

$ host -n 216.58.207.46
46.207.58.216.in-addr.arpa ตัวชี้ชื่อโดเมน fra16s24-in-f14.1e100.net.

Google เป็นเจ้าของโดเมน 1e100.net ดังนั้นเราจะเห็นได้ว่า IP นี้จริง ๆ แล้วเป็นของ Google.

ในโลกของ VPN เครื่องมือการแก้ไขที่อยู่สามารถใช้เพื่อดูว่า IP ที่ปริมาณการใช้งานของคุณกำหนดไว้นั้นเป็นของ VPN หรือไม่ ตัวอย่างเช่นคำสั่ง tcpdump เริ่มต้นบนเราเตอร์ OpenWRT จะพยายามแก้ไข IP ที่เห็นในแพ็กเก็ต TCP ดูเหมือนว่าส่วนใหญ่จะใช้ gethostbyaddress () เพื่อทำสิ่งนี้และบางครั้งก็เป็นไปได้ที่จะดูว่าแพ็กเก็ตถูกกำหนดไว้ที่ใด การดักจับ tcpdump เริ่มต้นของเซสชัน IPVanish แสดงสิ่งนี้:

08: 23: 14.485768 IP 216-151-184-30.ipvanish.com.3074 > 192.168.1.210.51061: UDP, ความยาว 1441
08: 23: 14.485847 IP 216-151-184-30.ipvanish.com.3074 > 192.168.1.210.51061: UDP, ความยาว 1441
08: 23: 14.486144 IP 216-151-184-30.ipvanish.com.3074 > 192.168.1.210.51061: UDP, ความยาว 1441
08: 23: 14.486186 IP 216-151-184-30.ipvanish.com.3074 > 192.168.1.210.51061: UDP, ความยาว 385

IPVanish ไคลเอ็นต์สำหรับ Windows มีการกำหนดค่าสามแบบ: การเชื่อมต่อ OpenVPN มาตรฐาน, การเชื่อมต่อ OpenVPN โดยใช้ HTTPS และการเชื่อมต่อที่สับสน.

ipvanish-VPN-OpenVPN โหมด

แพ็คเก็ตข้างต้นถูกจับในระหว่างเซสชันโดยใช้การตั้งค่าการเชื่อมต่อ OpenVPN ที่ยุ่งเหยิง แต่ WireShark ยังสามารถให้ข้อมูลปลายทางได้.

สรุป

เมื่อพิจารณาการใช้ VPN มี "กระสุนเงิน" น้อยมาก โดยทั่วไปจะใช้เทคนิคหรือข้อสังเกตหลายอย่างในการรวบรวมตัวบ่งชี้ที่เพียงพอซึ่งบ่งชี้ว่ามีการใช้งาน VPN และถึงแม้จะเป็นเรื่องยากที่จะแน่ใจ 100% บริษัท ที่มีความสนใจที่จะไม่อนุญาตให้ใช้งาน VPN เช่น Netflix และบริการสตรีมอื่น ๆ มีทีมงานเต็มเวลาที่ทุ่มเทให้กับปัญหานี้ ในกรณีอื่น ๆ หลายประเทศในยุโรปตะวันออกและตะวันออกกลาง) ห้ามการใช้งาน VPN และมีทีมงานที่คล้ายกันเพื่อกำจัดผู้ใช้ VPN.

Brayan Jackson Administrator
Candidate of Science in Informatics. VPN Configuration Wizard. Has been using the VPN for 5 years. Works as a specialist in a company setting up the Internet.
follow me

About the author

Candidate of Science in Informatics. VPN Configuration Wizard. Has been using the VPN for 5 years. Works as a specialist in a company setting up the Internet.

Leave a Reply

Your email address will not be published. Required fields are marked *

3 + 2 =