ทีมนักวิจัยจากมหาวิทยาลัยมิชิแกนเผยแพร่ผลการศึกษาความเป็นไปได้ของการเชื่อมต่อ VPN แบบลายนิ้วมือกับเซิร์ฟเวอร์ที่ใช้ OpenVPN ขณะตรวจสอบปริมาณการรับส่งข้อมูล การศึกษานี้ระบุวิธีการสามวิธีในการระบุโปรโตคอล OpenVPN ท่ามกลางแพ็กเก็ตเครือข่ายอื่นๆ ซึ่งสามารถนำไปใช้ในระบบตรวจสอบปริมาณการรับส่งข้อมูลเพื่อบล็อกเครือข่ายเสมือนที่ใช้ OpenVPN
การทดสอบวิธีการที่เสนอบนเครือข่ายผู้ให้บริการอินเทอร์เน็ต Merit ซึ่งมีผู้ใช้งานมากกว่าหนึ่งล้านคน แสดงให้เห็นถึงความสามารถในการระบุเซสชัน OpenVPN ได้ถึง 85% ด้วยอัตราผลบวกลวงต่ำ สำหรับการทดสอบ ได้มีการพัฒนาเครื่องมือที่เริ่มต้นจากการระบุทราฟฟิกของ OpenVPN แบบพาสซีฟก่อน จากนั้นจึงตรวจสอบความถูกต้องของผลลัพธ์ผ่านการตรวจสอบเซิร์ฟเวอร์แบบแอคทีฟ โฟลว์ทราฟฟิกที่มีทรูพุตประมาณ 20 Gbps ถูกจำลองโดยใช้เครื่องวิเคราะห์ที่พัฒนาโดยนักวิจัย

ระหว่างการทดลอง เครื่องวิเคราะห์สามารถระบุการเชื่อมต่อ OpenVPN ทดสอบได้สำเร็จ 1718 รายการ จากทั้งหมด 2000 รายการ ที่สร้างโดยไคลเอนต์ปลอม โดยใช้การกำหนดค่า OpenVPN ทั่วไป 40 แบบ (วิธีนี้ใช้งานได้สำเร็จ 39 รายการ จาก 40 รูปแบบ) นอกจากนี้ ตลอดระยะเวลา 8 วันของการทดลอง ตรวจพบเซสชัน OpenVPN 3638 เซสชันในทราฟฟิกทรานซิชัน ซึ่ง 3245 เซสชันได้รับการยืนยันแล้ว ขอบเขตสูงสุดของผลบวกปลอมในวิธีที่เสนอนี้ต่ำกว่าวิธีที่ใช้วิธีการเรียนรู้ของเครื่องที่เสนอไว้ก่อนหน้านี้ถึงสามเท่า
ประสิทธิภาพของวิธีการป้องกันการตรวจสอบการรับส่งข้อมูล OpenVPN ในบริการเชิงพาณิชย์ได้รับการประเมินแยกต่างหาก โดยทดสอบจากทั้งหมด 41 บริการ VPNจากบริการที่ใช้เทคนิคการปกปิดข้อมูลการรับส่ง OpenVPN พบว่าสามารถระบุข้อมูลได้ใน 34 กรณี บริการที่ไม่สามารถตรวจพบได้นั้นใช้เทคนิคการปกปิดข้อมูลการรับส่งเพิ่มเติม นอกเหนือจาก OpenVPN (เช่น การส่งข้อมูล OpenVPN ผ่านอุโมงค์เข้ารหัสเพิ่มเติม) บริการส่วนใหญ่ที่สามารถระบุได้สำเร็จนั้นใช้การบิดเบือนข้อมูลการรับส่งโดยใช้การดำเนินการ XOR การปกปิดข้อมูลการรับส่งเพิ่มเติมโดยไม่มีการสุ่มข้อมูลการรับส่งอย่างเหมาะสม หรือการมีบริการ OpenVPN ที่ไม่ได้ปกปิดข้อมูลการรับส่งอยู่บนเซิร์ฟเวอร์เดียวกัน เซิร์ฟเวอร์.
วิธีการระบุตัวตนที่ใช้นั้นอิงตามรูปแบบเฉพาะของ OpenVPN ในส่วนหัวของแพ็กเก็ตที่ไม่ได้เข้ารหัส ขนาดของแพ็กเก็ต ACK และการตอบสนองของเซิร์ฟเวอร์ ในกรณีแรก ฟิลด์ "opcode" ในส่วนหัวของแพ็กเก็ต ซึ่งมีค่าคงที่และเปลี่ยนแปลงไปตามขั้นตอนการสร้างการเชื่อมต่อ สามารถใช้เป็นวัตถุระบุตัวตนในระหว่างขั้นตอนการเจรจาการเชื่อมต่อได้ การระบุตัวตนประกอบด้วยการตรวจจับลำดับการเปลี่ยนแปลง opcode ที่เฉพาะเจาะจงในแพ็กเก็ต N แพ็กเก็ตแรกของสตรีม
วิธีที่สองนั้นอิงจากข้อเท็จจริงที่ว่าแพ็กเก็ต ACK จะถูกใช้ใน OpenVPN เฉพาะในช่วงการเจรจาการเชื่อมต่อเท่านั้น และมีขนาดเฉพาะ การระบุตัวตนนั้นอิงจากข้อเท็จจริงที่ว่าแพ็กเก็ต ACK ที่มีขนาดที่กำหนดจะเกิดขึ้นเฉพาะในบางส่วนของเซสชัน (ตัวอย่างเช่น เมื่อใช้ OpenVPN แพ็กเก็ต ACK แรกมักจะเป็นแพ็กเก็ตข้อมูลที่สามที่ถ่ายโอนในเซสชัน)

วิธีที่ 3 คือการตรวจสอบแบบแอคทีฟ ซึ่งเกิดจากการที่ในการตอบสนองต่อคำขอรีเซ็ตการเชื่อมต่อ เซิร์ฟเวอร์ OpenVPN จะส่งแพ็กเก็ต RST เฉพาะ (การตรวจสอบจะไม่ทำงานเมื่อใช้โหมด "tls-auth" เนื่องจากเซิร์ฟเวอร์ OpenVPN จะละเว้นคำขอจากไคลเอนต์ที่ไม่ผ่านการตรวจสอบสิทธิ์ผ่าน TLS)

ที่มา: opennet.ru
