กลุ่มนักวิจัยจากมหาวิทยาลัยมิชิแกนเผยแพร่ผลการศึกษาเกี่ยวกับความเป็นไปได้ในการระบุการเชื่อมต่อ (ลายนิ้วมือ VPN) กับเซิร์ฟเวอร์ที่ใช้ OpenVPN เมื่อตรวจสอบปริมาณการขนส่งสาธารณะ เป็นผลให้มีการระบุสามวิธีในการระบุโปรโตคอล OpenVPN ท่ามกลางแพ็กเก็ตเครือข่ายอื่นๆ ที่สามารถใช้ในระบบตรวจสอบการรับส่งข้อมูลเพื่อบล็อกเครือข่ายเสมือนที่ใช้ OpenVPN
การทดสอบวิธีการที่เสนอบนเครือข่ายของผู้ให้บริการอินเทอร์เน็ต Merit ซึ่งมีผู้ใช้มากกว่าหนึ่งล้านคน แสดงให้เห็นความสามารถในการระบุ 85% ของเซสชัน OpenVPN ที่มีผลบวกลวงในระดับต่ำ สำหรับการทดสอบ ได้มีการเตรียมชุดเครื่องมือที่ตรวจพบการรับส่งข้อมูล OpenVPN ทันทีในโหมดพาสซีฟ จากนั้นตรวจสอบความถูกต้องของผลลัพธ์ผ่านการตรวจสอบเซิร์ฟเวอร์ที่ใช้งานอยู่ กระแสการรับส่งข้อมูลที่มีความเข้มข้นประมาณ 20 Gbps ได้รับการสะท้อนไปยังเครื่องวิเคราะห์ที่สร้างโดยนักวิจัย
ในระหว่างการทดสอบ เครื่องวิเคราะห์สามารถระบุการเชื่อมต่อ OpenVPN ทดสอบ 1718 รายการจาก 2000 รายการที่สร้างโดยไคลเอนต์หลอกลวงได้สำเร็จ ซึ่งใช้การกำหนดค่า OpenVPN ทั่วไปที่แตกต่างกัน 40 รายการ (วิธีนี้ใช้ได้ผลสำเร็จกับการกำหนดค่า 39 รายการจาก 40 รายการ) นอกจากนี้ ในช่วงแปดวันของการทดสอบ มีการระบุเซสชัน OpenVPN 3638 เซสชันในการรับส่งข้อมูล ซึ่งมีการยืนยัน 3245 เซสชัน มีข้อสังเกตว่าขีดจำกัดบนของผลบวกลวงในวิธีที่เสนอคือขนาดที่ต่ำกว่าในวิธีที่เสนอก่อนหน้านี้สามลำดับ โดยอิงตามการใช้การเรียนรู้ของเครื่อง
แยกกัน ประเมินประสิทธิภาพของวิธีการป้องกันการติดตามการรับส่งข้อมูล OpenVPN ในบริการเชิงพาณิชย์ - จากบริการ VPN ที่ทดสอบ 41 รายการโดยใช้วิธีการซ่อนการรับส่งข้อมูล OpenVPN มีการระบุการรับส่งข้อมูลใน 34 กรณี บริการที่ไม่สามารถตรวจพบได้ใช้เลเยอร์เพิ่มเติมนอกเหนือจาก OpenVPN เพื่อซ่อนการรับส่งข้อมูล (เช่น การส่งต่อการรับส่งข้อมูล OpenVPN ผ่านอุโมงค์ที่เข้ารหัสเพิ่มเติม) บริการที่ระบุได้สำเร็จส่วนใหญ่ใช้การบิดเบือนทราฟฟิก XOR, การบิดเบือนเลเยอร์เพิ่มเติมโดยไม่มีการเสริมทราฟฟิกแบบสุ่มที่เหมาะสม หรือการมีอยู่ของบริการ OpenVPN ที่ไม่สับสนบนเซิร์ฟเวอร์เดียวกัน
วิธีการระบุตัวตนที่เกี่ยวข้องจะขึ้นอยู่กับการเชื่อมโยงกับรูปแบบเฉพาะของ OpenVPN ในส่วนหัวของแพ็คเก็ตที่ไม่ได้เข้ารหัส ขนาดแพ็คเก็ต ACK และการตอบกลับของเซิร์ฟเวอร์ ในกรณีแรกการเชื่อมโยงกับฟิลด์ "opcode" ในส่วนหัวของแพ็กเก็ตสามารถใช้เป็นออบเจ็กต์สำหรับการระบุตัวตนในขั้นตอนการเจรจาการเชื่อมต่อซึ่งใช้ช่วงค่าคงที่และการเปลี่ยนแปลงในลักษณะบางอย่างขึ้นอยู่กับการเชื่อมต่อ ขั้นตอนการตั้งค่า การระบุจะลดลงเพื่อระบุลำดับของการเปลี่ยนแปลง opcode ใน N-แพ็กเก็ตแรกของโฟลว์
วิธีที่สองนั้นขึ้นอยู่กับความจริงที่ว่าแพ็กเก็ต ACK ถูกใช้ใน OpenVPN ในขั้นตอนการเจรจาการเชื่อมต่อเท่านั้นและในขณะเดียวกันก็มีขนาดเฉพาะ การระบุจะขึ้นอยู่กับข้อเท็จจริงที่ว่าแพ็กเก็ต ACK ในขนาดที่กำหนดนั้นเกิดขึ้นเฉพาะในบางส่วนของเซสชันเท่านั้น (เช่น เมื่อใช้ OpenVPN โดยปกติแล้วแพ็กเก็ต ACK แรกจะเป็นแพ็กเก็ตข้อมูลที่สามที่ส่งในเซสชัน)
วิธีที่สามคือการตรวจสอบที่ใช้งานอยู่และเกิดจากการตอบสนองต่อคำขอรีเซ็ตการเชื่อมต่อ เซิร์ฟเวอร์ OpenVPN จะส่งแพ็กเก็ต RST เฉพาะ (การตรวจสอบจะไม่ทำงานเมื่อใช้โหมด "tls-auth" เนื่องจากเซิร์ฟเวอร์ OpenVPN ละเว้นคำขอจากไคลเอนต์ที่ไม่ได้รับการรับรองความถูกต้องผ่าน TLS)
ที่มา: opennet.ru