TunnelCrack กับ TunnelVision: แต่ละตัวทำลายอะไรจริง ๆ
TunnelCrack และ TunnelVision ใช้ข้อยกเว้นการกำหนดเส้นทางที่ต่างกันในทางที่ผิด: ตรวจสอบข้อยกเว้นเครือข่ายท้องถิ่น เส้นทางเซิร์ฟเวอร์ และตัวเลือก DHCP 121 สำหรับไคลเอนต์แต่ละเวอร์ชัน
ชื่อจากงานวิจัยสองชื่อถูกใช้แทนกันสำหรับทราฟฟิก VPN ใด ๆ ที่ออกนอกอุโมงค์ แต่กลไกเบื้องหลังไม่เหมือนกัน TunnelCrack อธิบายข้อยกเว้นการกำหนดเส้นทางสองตระกูล ส่วน TunnelVision อธิบายเส้นทางที่ DHCP ส่งให้อุปกรณ์ปลายทาง ทั้งสองไม่ได้ทำลายการเข้ารหัส และทั้งสองไม่ได้บอกว่าไคลเอนต์เวอร์ชันใดเวอร์ชันหนึ่งทำอะไรในวันนี้ การตรวจห้าข้อแยกกลไกออกจากพาดหัวข่าว
ขั้นที่หนึ่ง: ตั้งชื่อกลไกที่คุณกำลังตรวจสอบ
การเปิดเผย TunnelCrack เมื่อเดือนสิงหาคม 2023 อธิบายการโจมตีสองตระกูล ในกรณีเครือข่ายท้องถิ่น ทราฟฟิกที่ไคลเอนต์ถือว่าเป็นของเครือข่ายท้องถิ่นจะได้รับข้อยกเว้นการเข้าถึงท้องถิ่นและออกนอกอุโมงค์ ในกรณีที่อยู่เซิร์ฟเวอร์ เส้นทางที่ไคลเอนต์ต้องใช้เพื่อไปถึงเซิร์ฟเวอร์ VPN เองอยู่นอกอุโมงค์ และฝ่ายตรงข้ามที่ควบคุมที่อยู่นั้นสามารถใช้ประโยชน์จากข้อยกเว้นได้
TunnelVision เป็นรายงานแยกเกี่ยวกับเส้นทางสถิตแบบไม่มีคลาสที่ DHCP ส่งให้ เซิร์ฟเวอร์ DHCP ที่เป็นอันตรายสามารถให้เส้นทางแก่อุปกรณ์ปลายทางซึ่งเปลี่ยนเส้นทางที่ทราฟฟิกใช้ รวมถึงเส้นทางไปยังเซิร์ฟเวอร์ VPN รายงานยอมรับงานก่อนหน้าว่าด้วยผลกระทบของการกำหนดเส้นทางที่เกี่ยวข้อง ซึ่งเตือนว่ากลไกพื้นฐานเก่ากว่าชื่อ
| Case | Exception it abuses |
|---|---|
| TunnelCrack local network | Traffic classified as local bypasses the tunnel |
| TunnelCrack server address | The route to the VPN server sits outside the tunnel |
| TunnelVision | DHCP option 121 installs routes that redirect traffic |
ตรึงชื่อไว้กับกลไกของมัน การแก้ไขสำหรับตัวหนึ่งเพราะอีกตัวอยู่ในข่าวคือวิธีที่การตรวจสอบสร้างความเคลื่อนไหวโดยไม่มีความครอบคลุม
ขั้นที่สอง: ดูข้อยกเว้นการเข้าถึงท้องถิ่น
ไคลเอนต์ส่วนใหญ่ยกเว้นทราฟฟิกเครือข่ายท้องถิ่นเพื่อให้เครื่องพิมพ์ การฉายหน้าจอ และการแชร์ไฟล์ยังทำงานได้ขณะอุโมงค์เปิดอยู่ ข้อยกเว้นนั้นเป็นการตัดสินใจเชิงนโยบายที่มีต้นทุนด้านความปลอดภัย: ฝ่ายตรงข้ามในเครือข่ายเดียวกันสามารถแสดงตนเป็นโฮสต์ท้องถิ่นได้ และทราฟฟิกที่ไปถึงนั้นไม่เคยเข้าสู่อุโมงค์
ถามว่าโปรไฟล์ที่ปรับใช้ต้องการข้อยกเว้นนี้หรือไม่ กำลังคนระยะไกลที่ไม่เคยใช้การค้นหาท้องถิ่นมักปิดได้ และบริการท้องถิ่นที่เหลือสามารถเข้าถึงได้ผ่านเส้นทางที่บันทึกไว้ ที่ใดจำเป็นต้องมีข้อยกเว้น ให้ระบุว่าครอบคลุมปลายทางใดแทนการอธิบายว่าเป็นทราฟฟิกท้องถิ่น
การตรวจสอบเป็นคำถามเรื่องการกำหนดค่า ไม่ใช่การดักจับแพ็กเก็ต อ่านการตั้งค่าโปรไฟล์และเอกสารไคลเอนต์สำหรับบิลด์ที่คุณปรับใช้ เพราะค่าเริ่มต้นแตกต่างกันระหว่างผลิตภัณฑ์และระหว่างเวอร์ชันของผลิตภัณฑ์เดียวกัน เขียนคำตอบไว้ข้างโปรไฟล์ เพื่อให้ผู้ตรวจคนถัดไปไม่ต้องอนุมานจากพฤติกรรม ข้อยกเว้นที่ไม่มีใครบันทึกไว้คือข้อยกเว้นที่ไม่มีใครตรวจสอบ
ขั้นที่สาม: ดูว่าที่อยู่เซิร์ฟเวอร์เรียนรู้อุย่างไร
ไคลเอนต์ต้องไปถึงเซิร์ฟเวอร์ VPN ก่อนที่อุโมงค์ใดจะเกิดขึ้น ดังนั้นปลายทางนั้นจึงถูกกำหนดเส้นทางออกนอกอุโมงค์ตามการออกแบบ หากที่อยู่เรียนรู้มาจากชื่อ ขั้นตอนการแปลงชื่อเป็นส่วนหนึ่งของเส้นทางความเชื่อถือ และฝ่ายตรงข้ามที่ตอบคำถามนั้นได้สามารถชี้ไคลเอนต์ไปยังโฮสต์ที่ตนควบคุม
การตรึงที่อยู่ การใช้ใบรับรองที่ตรวจสอบแล้วพร้อมชื่อที่ถูกต้อง และการปฏิเสธที่จะถอยกลับไปยังเซิร์ฟเวอร์ที่ยังไม่ตรวจสอบ ล้วนลดการเปิดเผย ไม่มีข้อใดขจัดความจำเป็นในการไปถึงเซิร์ฟเวอร์นอกอุโมงค์ พวกมันเปลี่ยนว่าใครสามารถตอบสำหรับที่อยู่นั้น
resolvectl query vpn.lab.example
ip route get 198.51.100.24
ip rule show
การค้นหาเส้นทางแสดงอินเทอร์เฟซที่ไคลเอนต์จะใช้สำหรับที่อยู่เซิร์ฟเวอร์ และนั่นคือข้อยกเว้นในรูปธรรม หากการค้นหานั้นคืนอินเทอร์เฟซของอุโมงค์ ไคลเอนต์ก็สร้างอุโมงค์ไม่ได้เลย ดังนั้นจึงคาดว่าจะมีเส้นทางภายนอก และคำถามคือเลือกปลายทางของมันอย่างไร
ขั้นที่สี่: ดูเส้นทางที่ DHCP ให้มา
เส้นทางสถิตแบบไม่มีคลาสอนุญาตให้เซิร์ฟเวอร์ DHCP แจกจ่ายรายการในตารางการกำหนดเส้นทาง และอุปกรณ์ปลายทางมักยอมรับโดยไม่ถาม ในเครือข่ายที่ฝ่ายตรงข้ามตอบ DHCP ได้เร็วกว่าเซิร์ฟเวอร์ที่ชอบด้วยกฎหมาย รายการเหล่านั้นสามารถเปลี่ยนเส้นทางทราฟฟิกที่ผู้ใช้คิดว่าอยู่ในอุโมงค์
เปรียบเทียบเส้นทางบนอุปกรณ์ปลายทางกับเส้นทางที่คุณคาดไว้ เส้นทางเริ่มต้นหรือคำนำหน้ากว้างที่ชี้ไปยังเกตเวย์ท้องถิ่นขณะอุโมงค์เปิดอยู่คือลายเซ็นที่ควรค่าแก่การสอบสวน และมองเห็นได้โดยไม่มีทราฟฟิกการโจมตีใด ๆ
ip route show table all
ip route get 203.0.113.55
nmcli -g ipv4.ignore-auto-routes con show "Wired connection 1"
การตั้งค่าสุดท้ายคือการควบคุมฝั่งอุปกรณ์ปลายทางที่ไคลเอนต์และแพลตฟอร์มจำนวนมากเปิดให้ในรูปแบบใดรูปแบบหนึ่ง: ไม่สนใจเส้นทางที่เครือข่ายให้มา การปิดการยอมรับเส้นทางอัตโนมัติเป็นการแลกเปลี่ยน เพราะมันยังปิดการกำหนดเส้นทางแบบแบ่งที่ชอบด้วยกฎหมายจากเซิร์ฟเวอร์ DHCP ขององค์กรด้วย ดังนั้นตัดสินใจตามชั้นของเครือข่ายไม่ใช่ทั้งโลก
ขั้นที่ห้า: แยกประกาศออกจากบิลด์ปัจจุบัน
การโจมตีที่เผยแพร่อธิบายพฤติกรรมที่สังเกตพบบนไคลเอนต์บางเวอร์ชัน ณ เวลาหนึ่ง ไม่ได้ยืนยันว่าแล็ปท็อปที่อยู่ตรงหน้าคุณได้รับผลกระทบ และไม่ได้ยืนยันว่าได้รับการแก้ไขแล้ว ข้อกล่าวอ้างทั้งสองต้องใช้หมายเลขบิลด์จริงและประกาศล่าสุดของผู้จำหน่าย
บันทึกเวอร์ชันไคลเอนต์ แพลตฟอร์ม การตั้งค่าโปรไฟล์ที่ควบคุมข้อยกเว้นข้างต้น และวันที่คุณตรวจสอบ บันทึกนั้นแก่ลงอย่างซื่อสัตย์ ขณะที่บันทึกย่อที่บอกว่า VPN ถูกแพตช์สำหรับ TunnelCrack ไม่ได้แก่ลงอย่างซื่อสัตย์ อ่านซ้ำทุกครั้งที่ไคลเอนต์อัปเดต เพราะค่าเริ่มต้นของโปรไฟล์อาจเปลี่ยนภายใต้เวอร์ชันที่คุณไม่ได้แตะต้อง
เมื่อคุณตรวจสอบจริง ให้ใช้แผนที่ได้รับอนุมัติกับอุปกรณ์ปลายทางของคุณเองและปลายทางที่ไม่เป็นอันตราย การทำซ้ำการโจมตีต่อผู้ใช้รายอื่นบนเครือข่ายที่ใช้ร่วมกันไม่ใช่การทดสอบ และการปิดการตรวจสอบเพียร์หรือการเข้ารหัสของแอปพลิเคชันเพื่อให้สังเกตได้ง่ายขึ้นเป็นการถอดการป้องกันที่คุณพยายามวัด
สุดท้าย ให้คงการป้องกันระดับแอปพลิเคชันไว้ในภาพ ข้อยกเว้นการกำหนดเส้นทางอาจเปิดเผยทราฟฟิกที่อุโมงค์จะพาไปได้ และ TLS ของแอปพลิเคชันยังคงปกป้องทราฟฟิกนั้นตั้งแต่ต้นจนจบ ทั้งสองชั้นล้มเหลวอย่างเป็นอิสระต่อกัน ดังนั้นช่องควบคุมที่เชื่อมต่ออยู่จึงไม่ใช่หลักฐานว่าทุกโฟลว์ไปตามเส้นทางที่ตั้งใจ