จะทราบได้อย่างไรว่า BGP ของผู้ประกอบการนั้นปลอดภัย

พื้นที่ BGP (โปรโตคอล Border Gateway) เป็นหนึ่งในโปรโตคอลพื้นฐานของอินเทอร์เน็ตเนื่องจากมีหน้าที่ในการแลกเปลี่ยนข้อมูลเส้นทาง ระหว่างระบบปกครองตนเองที่แตกต่างกัน ที่มีอยู่ในโลก ตัวอย่างเช่นผู้ให้บริการอินเทอร์เน็ตแต่ละรายมี AS ของตนเองและเพื่อสื่อสารกับ AS ของผู้ให้บริการรายอื่นคุณต้องใช้โปรโตคอล BGP

หากโพรโทคอลนี้ไม่ได้รับการกำหนดค่าอย่างถูกต้องอาจทำให้เกิดการขัดจังหวะบนอินเทอร์เน็ตหรือเส้นทางการจราจรอาจมีการเปลี่ยนแปลงเพื่อให้การรับส่งข้อมูลทั้งหมดจาก AS ที่แน่นอนผ่านไปโดยไม่ได้ร้องขอ Cloudflare ได้เปิดตัว เครื่องมือฟรีเพื่อตรวจสอบความปลอดภัยของโปรโตคอล BGP อย่างง่ายดายและรวดเร็ว

CloudFlare

โปรโตคอล BGP: มันคืออะไรมีไว้เพื่ออะไรและทำงานอย่างไร

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

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

ภายในระบบอิสระเราเตอร์ของผู้ประกอบการแลกเปลี่ยนเส้นทางที่แตกต่างกันเพื่อรับจากต้นทางหนึ่งไปยังปลายทางภายในโดยไม่ใช้ AS อื่น ข้อมูลเส้นทางมีการจัดให้แบบไดนามิกโดย โปรโตคอลการจัดเส้นทางเกตเวย์ภายใน (IGP - Interior Gateway Protocol) การกำหนดเส้นทางนี้อยู่ภายใน AS และใช้โปรโตคอลเฉพาะเช่น OSPF หรือ IS-IS ในกรณีส่วนใหญ่ แต่ก็มีโปรโตคอล IGP อื่น ๆ เช่น RIP หรือ EIGRP

BGP (Border Gateway Protocol) คือ ภายนอก ภายนอก โปรโตคอลเกตเวย์ หรือเรียกอีกอย่างว่า "เส้นขอบ" โปรโตคอลนี้ใช้ เส้นทางการแลกเปลี่ยนระหว่าง AS ที่แตกต่างกัน งานนี้มีความสำคัญเพื่อให้เราสามารถเชื่อมต่อจากแหล่งหนึ่งไปยังปลายทางเมื่อการจราจรต้องผ่าน AS ที่แตกต่างกัน

ตัวอย่างเช่นหากผู้ให้บริการของเราคือ Movistar และเราต้องการสื่อสารกับคนที่มี Vodafone จำเป็นต้องให้ทราฟฟิกของเราผ่าน Movistar AS และของ Vodafone เพื่อไปยังปลายทางอย่างถูกต้อง ในขณะที่โปรโตคอล IGP แบ่งปันเส้นทางภายใน AS, BGP มีหน้าที่รับผิดชอบในการแบ่งปันเส้นทางไปยัง ASs อื่น ๆ เพื่อเชื่อมต่อระหว่างผู้ให้บริการที่แตกต่างกัน

เมื่อเรากำหนดค่าโปรโตคอล BGP เราจะมีทั้งการเชื่อมต่อภายใน (iBGP) ที่สร้างขึ้นภายใน AS รวมถึงเซสชันภายนอก (eBGP) ที่ทำขึ้นระหว่าง AS ที่แตกต่างกัน

คุณลักษณะบางอย่างของ BGP คือมันรับประกันทางเลือกของเส้นทางที่ไม่มีลูป แต่จะทำการตัดสินใจในการกำหนดเส้นทางตามนโยบายเครือข่ายที่กำหนดไว้ (วิศวกรรมจราจร) เช่นจำนวน AS ที่กระโดดจากต้นทางถึงปลายทางแม้ว่าเราจะสามารถใช้ แอททริบิวต์ LOCAL-PREF เพื่อแก้ไขพฤติกรรมนี้เส้นทางยังสามารถแก้ไขได้ตามคุณสมบัติอื่น ๆ ที่มีอยู่ใน BGP

เหตุใด BGP จึงไม่ปลอดภัย

โปรโตคอล BGP หากไม่ได้กำหนดค่าอย่างถูกต้องสามารถนำไปสู่การโจมตีเช่นจี้ BGP หากคุณต้องผ่าน B เพื่อรับจากแหล่ง A ไปยังปลายทาง C เป็นไปได้ที่โหนด B จะ "หลอก" โหนด A เพื่อให้ปริมาณการใช้งานผ่าน AS อื่นหรือว่าเส้นทางนั้นจะไม่ให้เส้นทางที่ถูกต้องกับคุณโดยตรง และหมดการเชื่อมต่อเนื่องจากคุณไม่สามารถไปที่ C ในทางใดทางหนึ่งหาก B ไม่ได้ให้ข้อมูลแก่คุณ BGP Hijack ทำงานอย่างนี้ขโมยเซสชัน BGP และส่งข้อมูลเท็จไปยัง AS เพื่อไม่ให้ "เพื่อนบ้าน" เข้ามาหรือเข้ามาในทางที่เป็นอันตราย (ผ่านเราเตอร์ของ AS อื่นภายใต้การควบคุมของเราสำหรับ ตัวอย่าง)

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

ตามค่าเริ่มต้น BGP จะไม่รวมโพรโทคอลความปลอดภัยใด ๆ เพื่อหลีกเลี่ยงปัญหานี้การใช้งานการกรองเส้นทางที่ไม่ถูกต้องขึ้นอยู่กับแต่ละ AS โดยปกติเมื่อเราสูญเสียเส้นทางมันเกิดจากความล้มเหลวของมนุษย์ แต่อาจเป็นเพราะการกระทำของอาชญากรไซเบอร์เช่นที่เคยเกิดขึ้นในอดีต BGP สามารถปลอดภัยได้หาก AS ทั้งหมดโฆษณาเฉพาะเส้นทางที่ถูกกฎหมายนั่นคือเมื่อพวกเขาเป็น“ ของคุณ”

RPKI เพื่อช่วยเหลือ

RPKI (โครงสร้างพื้นฐานคีย์สาธารณะของทรัพยากร) ให้การแก้ปัญหาแก่เราในปัจจุบันมีเส้นทางหลายล้านเส้นทางบนอินเทอร์เน็ตดังนั้นการตรวจสอบด้วยตนเองจึงเป็นงานที่เป็นไปไม่ได้ กรอบความปลอดภัยนี้สามารถเชื่อมโยงเส้นทางกับระบบปกครองตนเองเฉพาะ RPKI ใช้การเข้ารหัสลับระหว่างเราเตอร์ BGP ที่แตกต่างกันเพื่อให้โหนดตรวจสอบข้อมูลในวิธีที่ปลอดภัยก่อนส่งผ่านไปยังเราเตอร์เพื่อให้แน่ใจว่า 100% เป็นเส้นทางที่ถูกต้องตามกฎหมาย เราขอแนะนำให้คุณอ่านเพิ่มเติมเกี่ยวกับ RPKI บนบล็อก Cloudflare คุณจะพบข้อมูลทางเทคนิคได้ที่ไหน

เครื่องมือทำงานอย่างไรเพื่อตรวจสอบว่า ISP ของเราใช้ BGP กับ RPKI หรือไม่

เครื่องมือนี้มีหน้าที่ตรวจสอบว่าผู้ให้บริการของเรากำลังใช้งาน BGP อย่างปลอดภัยหรือไม่สิ่งที่ประกาศใช้เส้นทาง Cloudflare ที่ถูกกฎหมาย แต่พวกเขาต้องแน่ใจว่าการประกาศนี้ไม่ถูกต้อง หากเราสามารถโหลดเว็บไซต์ที่เราโฮสต์เส้นทางนั้นได้นั่นหมายความว่าเราสามารถเข้าถึงได้และ ISP ของเรายอมรับว่าถูกต้องมิฉะนั้นเราจะไม่สามารถเข้าถึงได้เพราะผู้ให้บริการระบุว่าไม่ถูกต้อง

สิ่งแรกที่เราควรทำคือ ขึ้นบนเว็บว่า BGP ปลอดภัยหรือยัง และคลิกที่«ทดสอบ ISP ของคุณ»อย่างที่คุณเห็นที่นี่:

หลังจากผ่านไปสองสามวินาทีจะแจ้งให้เราทราบถึงผลการทดสอบที่เราได้ดำเนินการผู้ปฏิบัติงานของเราคือMasmóvilและดูเหมือนว่าจะไม่ใช้การป้องกัน BGP เหล่านี้:

ด้านล่างนี้เราจะได้รับการจัดอันดับจากผู้ให้บริการอินเทอร์เน็ตรายอื่นในโลกและจะระบุว่าพวกเขามีการกำหนดค่า BGP อย่างถูกต้องหรือไม่ ตัวอย่างเช่นผู้ให้บริการรายอื่นในสเปนเช่น Vodafone, Orange หรือ Movistar ไม่มีการป้องกัน BGP เหล่านี้เช่นกันโดยตัดสินจากการทดสอบ Cloudflare ตัวดำเนินการบางอย่าง (หรือ บริษัท ที่มี AS) ที่ทำงานได้ดีมากคือ Telia, NTT และ Cloudflare แม้ว่าผู้อื่นเช่น Cogent หรือ TATA จะมีความปลอดภัยเพียงบางส่วน