เครื่องหมาย VPN บนอุปกรณ์หรือที่อยู่ทางออก: อะไรพิสูจน์อะไร
เครื่องหมายเครือข่ายที่อ่านบนอุปกรณ์กับที่อยู่ที่เซิร์ฟเวอร์มองเห็นเป็นหลักฐานคนละอย่าง ตัดสินใจว่าคำถามของคุณต้องใช้สิ่งใด
แอปบนโทรศัพท์และเซิร์ฟเวอร์ระยะไกลเริ่มจากข้อเท็จจริงต่างกัน และไม่มีฝ่ายใดยืมข้อเท็จจริงของอีกฝ่ายได้ แอปถามระบบปฏิบัติการเกี่ยวกับเครือข่ายที่ใช้ได้ ในขณะที่ เซิร์ฟเวอร์รู้เพียงสิ่งที่มาถึงผ่านการเชื่อมต่อ. การเปิดจุดปลายทางของคุณเองเขียนทับอย่างที่สองและปล่อยอย่างแรกไว้ไม่แตะต้อง ข้อใดตอบคำถามของคุณขึ้นอยู่กับคำถามนั้นเอง
สองจุดสังเกต สองชนิดของหลักฐาน
หลักฐานภายในอธิบายอุปกรณ์ ครอบคลุมอินเทอร์เฟซที่รับส่งข้อมูล การขนส่งที่แพลตฟอร์มรายงาน และสิ่งที่แอปที่เรียกใช้ถามได้ หลักฐานระยะไกลอธิบายการเชื่อมต่อ ที่อยู่ต้นทาง โพรโทคอล เวลา และทุกสิ่งที่แอปเลือกส่ง ไม่มีจุดสังเกตใดเป็นซูเปอร์เซ็ตของอีกจุด
การผสมทั้งสองทำให้เกิดข้อกล่าวอ้างที่ฟังดูแม่นยำแต่ตรวจสอบไม่ได้ เครื่องหมายพิสูจน์บางสิ่งเกี่ยวกับวัตถุเครือข่ายบนอุปกรณ์ ไม่ใช่ว่าบริการระยะไกลจำแนกคำขออย่างไร
ก่อนโต้เถียงเรื่องการตรวจจับ ให้เขียนว่าคำถามเกี่ยวกับจุดใด ปัญหาคือแอปหนึ่งบอกได้หรือไม่ว่าอุโมงค์ทำงานอยู่ หรือบริการอนุมานได้หรือไม่ว่าคำขอมาจากไหน สิ่งเหล่านี้เป็นการสอบสวนแยกกัน และคำตอบของอย่างหนึ่งไม่บอกอะไรเกี่ยวกับอีกอย่าง
อินเทอร์เฟซแพลตฟอร์มภายในรายงานอะไรได้บ้าง
Android มีเครื่องหมายเฉพาะ NetworkCapabilities วัตถุสามารถรายงาน TRANSPORT_VPN และ hasTransport ทดสอบว่าการขนส่งนั้นมีอยู่บนวัตถุหรือไม่ แอปได้วัตถุจากบริการเชื่อมต่อและอ่านมัน ภายใต้สิทธิ์สถานะเครือข่าย
ผลลัพธ์คือข้อมูลแพลตฟอร์มภายใน ไม่ใช่การค้นหาในช่วงที่อยู่ของผู้ให้บริการ อธิบายเครือข่ายที่แอปที่เรียกใช้กำลังใช้
มีสองขีดจำกัดที่สำคัญ กฎอุโมงค์แยกที่กันแอปออกอาจให้คำตอบต่างจากที่เพื่อนร่วมงานเห็นบนโทรศัพท์เดียวกัน เพราะแอปอาจผูกไว้ที่อื่น เครื่องหมายมีอยู่เพราะระบบปฏิบัติการจำลองอินเทอร์เฟซ VPN ไม่ใช่เพราะแอปใดแอปหนึ่งเก็บมันไว้ ไม่ว่าแอปจะอ่านฟิลด์นี้ ส่งต่อ หรือเพิกเฉยเป็นคุณสมบัติของแอปนั้น มานิเฟสต์และเอกสารของแอปเป็นแหล่งที่เชื่อถือได้เพียงแหล่งเดียวสำหรับคำถามนั้น
adb shell dumpsys connectivity | grep -i -m5 vpn
บริการระยะไกลเห็นอะไรได้บ้าง
เซิร์ฟเวอร์เห็นที่อยู่ต้นทางของการเชื่อมต่อ การขนส่ง และเวลา และเสริมที่อยู่ด้วยข้อมูลทะเบียนหรือเราเตอร์ได้ ยังรับทุกสิ่งที่แอปส่งได้ รวมถึงตำแหน่งเมื่อแอปขอและผู้ใช้ยินยอม ช่องทางเหล่านี้แยกจากกัน และมีเพียงหนึ่งเดียวที่คล้ายการค้นหาที่อยู่
ที่อยู่ที่ลงทะเบียนกับผู้ให้บริการโฮสติ้งบ่งชี้ถึงอุโมงค์ ขณะที่ที่อยู่ที่ลงทะเบียนในเครือข่ายที่พักอาศัยบ่งชี้ถึงการเชื่อมต่อที่บ้าน ทั้งคู่เป็นเบาะแสทางสถิติ ไม่ใช่ข้อเท็จจริงเกี่ยวกับอุปกรณ์
ที่อยู่ที่พักอาศัยไม่ได้วางบุคคลไว้ที่ที่อยู่นั้น และที่อยู่โฮสติ้งไม่ได้ระบุชื่อผู้ให้บริการหรือประเทศ บริการที่ถือว่าการอนุมานเป็นความแน่นอนจะผิดพลาดในบางครั้งโดยไม่อาจตรวจจับได้ หากข้อกำหนดคือความน่าเชื่อถือไม่ใช่การคาดเดา ข้อมูลที่อยู่ให้ไม่ได้ และการออกแบบที่บอกเช่นนั้นย่อมซื่อสัตย์กว่าการออกแบบที่ซ่อนการคาดเดา
| หลักฐาน | ตอบอะไร | แสดงอะไรไม่ได้ |
|---|---|---|
| เครื่องหมายการขนส่งภายใน | วัตถุเครือข่ายนี้เป็น VPN หรือไม่ | ใครดำเนินการทางออกหรืออุปกรณ์อยู่ที่ไหน |
| ที่อยู่ต้นทางระยะไกล | ที่อยู่ใดไปถึงบริการ | อุปกรณ์มีอุโมงค์ด้วยหรือไม่ |
| เพย์โหลดของแอปพลิเคชัน | แอปเลือกส่งอะไร | ทุกสิ่งที่แอปไม่ได้ส่ง |
ทำไมทางออกที่โฮสต์เองจึงเปลี่ยนเพียงด้านเดียว
การเปิดจุดปลายทางของคุณเองเปลี่ยนที่อยู่ต้นทางที่บริการระยะไกลมองเห็น ซึ่งอาจย้ายออกนอกช่วงที่บริการนั้นเชื่อมโยงกับผู้ให้บริการเชิงพาณิชย์ ไม่มีอะไรเปลี่ยนในแบบจำลองเครือข่ายภายใน เพราะอุโมงค์ยังเป็นอุโมงค์และระบบปฏิบัติการยังรายงานอยู่
หลักฐานด้านหนึ่งเคลื่อนที่ อีกด้านคงที่ ช่องว่างระหว่างทั้งสองคือที่ที่ความคาดหวังแตกสลาย
เบราว์เซอร์เป็นกรณีที่สามที่มีอินเทอร์เฟซและข้อจำกัดของตัวเอง เนื้อหาเว็บอ่านวัตถุความสามารถแบบเนทีฟไม่ได้ และการถือว่าคุณสมบัติของระบบปฏิบัติการมือถือพร้อมใช้สำหรับหน้าเว็บเป็นข้อผิดพลาดทางหมวดหมู่ หากคำถามเกี่ยวกับเว็บไซต์ จงศึกษาว่าเว็บไซต์ได้อะไรจริงแทนที่จะถอดอักษร API ของแพลตฟอร์ม
ตัดสินด้วยคำถามที่คุณถาม
หากคำถามคือแอปหนึ่งสังเกตสถานะอุโมงค์ได้หรือไม่ อินเทอร์เฟซแพลตฟอร์มคือที่ที่ถูกต้องในการดู และคำตอบอยู่ในโค้ดและสิทธิ์ของแอปนั้น หากคำถามคือบริการอนุมานอะไรได้ เมทาดาทาการเชื่อมต่อคือหลักฐาน คำถามทางกฎหมายหรือสัญญาไม่มีฝ่ายใดตัดสินได้
ตั้งชื่อคำถามเป็นประโยคเดียวก่อนเก็บสิ่งใด หากประโยคนั้นกำหนดว่าจุดสังเกตใดสำคัญและกันการสอบสวนไม่ให้ไหลไปสู่การโต้แย้งอื่น
ติดป้ายทุกการสังเกตตามแหล่งที่มาเมื่อรายงาน เพราะข้อกล่าวอ้างที่ไม่มีป้ายตรวจสอบไม่ได้ เครื่องหมายภายในและการอนุมานจากที่อยู่ล้วนมีประโยชน์และไม่มีสิ่งใดชี้ขาด จึงเป็นการผิดพลาดที่จะหลอมรวมเป็นคำตัดสินเดียว
เมื่อบริการปฏิเสธการเชื่อมต่อที่ได้รับอนุญาต ให้ใช้เส้นทางทบทวนที่บริการรองรับแทนการเปลี่ยนการตั้งค่าภายในเพื่อซ่อนสัญญาณ การลบการสังเกตหนึ่งครั้งไม่เคยพิสูจน์ว่าสิ่งอื่นหายไป