Bitcoin Magazine
ประเด็นหลัก: โหนดของคุณ กับ ดินแดนดิจิทัลอันโหดร้าย
กว่า 50 ปีหลังจากข้อความเชื่อมต่อเครือข่ายครั้งแรก เครือข่ายแบบเพียร์ทูเพียร์ยังคงเป็นสัตว์หายากในป่าแห่งอินเทอร์เน็ต ความสามารถของ Bitcoin ในการจัดหาระบบการเงินแบบเปิดขึ้นอยู่กับสถาปัตยกรรมแบบเพียร์ทูเพียร์ และในพื้นที่โจมตีทั้งหมด ชั้นเครือข่าย–วิธีที่เพียร์ค้นพบและเชื่อมต่อกัน–เป็นจุดที่เปราะบางที่สุด มีสองจุดหลักที่ปัญหาอาจเกิดขึ้น: โปรโตคอลการเชื่อมต่อเพียร์ของ Bitcoin เอง และโปรโตคอลอินเทอร์เน็ตที่โปรโตคอลของ Bitcoin พึ่งพา ในแง่นี้ Core มีภารกิจคู่ในการป้องกันเวกเตอร์การโจมตีแบบ Denial of Service (DOS) ที่อาจถูกใช้ในทางที่ผิดระหว่างโหนด และทำให้โหนดสามารถสื่อสารได้อย่างปลอดภัยในสภาพแวดล้อมที่เป็นปรปักษ์กว้างขวางขึ้นซึ่งก็คืออินเทอร์เน็ต
"รัฐบาลเก่งในการตัดหัวเครือข่ายที่ควบคุมแบบรวมศูนย์อย่าง Napster แต่เครือข่าย P2P แท้จริงอย่าง Gnutella และ Tor ดูเหมือนจะอยู่รอดได้"
– Satoshi, 7 พ.ย. 2008 [1]
โปรโตคอล P2P ครอบคลุมวิธีที่โหนดแลกเปลี่ยนข้อความเกี่ยวกับธุรกรรม บลอก และเพียร์อื่นๆ การแลกเปลี่ยนข้อมูลนี้จำเป็นก่อนที่การตรวจสอบธุรกรรมหรือฉันทามติใดๆ จะเกิดขึ้น และด้วยเหตุนี้จึงเป็นความกังวลหลัก
มีบั๊กหลายอันในพื้นที่นี้ตลอดหลายปี ตัวอย่างเช่น ในปี 2017 ช่องโหว่ของเซิร์ฟเวอร์ SOCKS ที่เป็นอันตรายถูกแพตช์และเปิดเผย [2] ช่องโหว่ "buffer overflow" นี้ในทางทฤษฎีอาจนำไปสู่การโจมตีหลายรูปแบบ: ทำให้โหนดล่ม แทรก payload ที่เป็นอันตราย หรือแก้ไขข้อมูลบนโหนด ในปี 2020 ช่องโหว่ความรุนแรงสูงถูกรายงานและแพตช์ โดยเพียร์ระยะไกลสามารถทำให้ที่อยู่ถูกแบนได้ ทำให้ banlist เติบโตแบบกำลังสอง และด้วยเหตุนี้จึงเป็น DOS บนโหนด [3] ช่องโหว่นี้ไม่ถูกเปิดเผยจนถึงปี 2024 บั๊กนี้ถูกทำเครื่องหมายอย่างถูกต้องว่า "ความรุนแรงสูง" เนื่องจากการโจมตีดำเนินการได้ง่าย ผลกระทบส่งผลให้โหนดสูญเสียการทำงาน และมีเงื่อนไขเบื้องต้นเพียงเล็กน้อยที่จำเป็นในการทำงาน เหล่านี้คือประเภทของบั๊กที่ทำให้นักพัฒนา Core ตื่นตลอดคืน และเป็นเหตุผลที่แนะนำอย่างยิ่งให้อัปเดตโหนดของคุณเป็นเวอร์ชันที่ยังได้รับการดูแล (เวอร์ชันเก่าของ Core ไม่ได้รับการดูแล/อัปเดตอย่างแข็งขัน)
เครือข่ายกระจายที่เราเรียกว่า Bitcoin ยังคงมีขนาดค่อนข้างเล็ก: จำนวนโหนด clearnet อยู่ที่ประมาณ 20,000 โหนด และแม้จะสมมติว่ามีโหนด TOR ถึง 100,000 โหนด เรายังคงมีเครือข่ายขนาดเล็กที่สามารถเฝ้าระวังได้ง่าย เมื่อเร็วๆ นี้ Daniela Brozzoni และ naiyoma แสดงให้เห็น [4] ว่าหากโหนดทำงานทั้ง clearnet และ Tor ก็เป็นเรื่องง่ายที่จะแมปที่อยู่ IPv4 และ Tor ของโหนด เป็นไปได้มากว่าสิ่งนี้ดำเนินการโดยหน่วยข่าวกรองและบริษัทวิเคราะห์ blockchain แล้ว จากนั้นจึงง่ายที่จะสังเกตว่าโหนดใดเผยแพร่ธุรกรรมใดก่อน สรุป IP ต้นทางของธุรกรรม และด้วยเหตุนี้ก็คือตำแหน่งที่ตั้ง แม้ว่านี่จะไม่ใช่บั๊กโดยตัวมันเอง เนื่องจากโหนดไม่ล่มหรือทำงานผิดปกติ แต่ก็สามารถถือว่าเป็นช่องโหว่ เนื่องจากนำเสนอวิธีการผูกที่อยู่ IP ที่กำหนดกับธุรกรรม
วิธีป้องกันอย่างมีประสิทธิภาพยังคงเป็นคำถามที่เปิดกว้างอยู่
"เราสร้างคอมพิวเตอร์เหมือนกับที่เราสร้างเมือง เมื่อเวลาผ่านไป โดยไม่มีแผน บนซากปรักหักพัง" – Ellen Ullman [5]
Bitcoin ทำงานบนอินเทอร์เน็ต และความสามารถในการคงเป็นระบบกระจายและแบบกระจายอำนาจขึ้นอยู่กับคุณสมบัติของอินเทอร์เน็ตเอง น่าเสียดายที่สถาปัตยกรรมของอินเทอร์เน็ตที่เรารู้จักในปัจจุบันยังคงไม่ปลอดภัยอย่างน่าเศร้า โดยมีการโจมตีที่รู้จักถูกใช้เป็นประจำ การโจมตีเหล่านี้ส่วนใหญ่ดำเนินการโดยไม่ถูกตรวจพบจนกว่าความเสียหายจะเกิดขึ้น และนี่ยังไม่รวมถึงระบอบการเฝ้าระวังที่แทรกซึมอินเทอร์เน็ตในปัจจุบัน
เวกเตอร์การโจมตีที่รู้จักและใช้ได้จริงมากที่สุดที่ต้องกังวลเรียกว่าการโจมตีแบบ eclipse โดยที่เพียร์ทั้งหมดของโหนดเหยื่อเป็นอันตราย และส่งมุมมองเฉพาะของเชนหรือเครือข่ายไปยังโหนดเหยื่อ การโจมตีประเภทนี้เป็นพื้นฐานในระบบกระจาย หากคุณควบคุมเพียร์ของโหนด คุณก็ควบคุมการรับรู้เครือข่ายของมัน Ethan Heilman และเพื่อนร่วมงานนำเสนอการโจมตี eclipse แบบใช้ได้จริงครั้งแรกบน Bitcoin ที่ USENIX 2015 [6] และในปี 2018 บทความโจมตี Erebus อธิบายการโจมตี eclipse แบบ "ลับๆ" ผ่าน Autonomous System (AS) ที่เป็นอันตราย [7]
การโจมตีเหล่านี้ส่วนใหญ่ใช้ประโยชน์จากจุดอ่อนในวิธีที่เครือข่ายของอินเทอร์เน็ตสื่อสารระหว่างกัน เช่น โทโพโลยีการกำหนดเส้นทางของ AS หรือผ่านโปรโตคอลที่เรียกว่า Border Gateway Protocol (BGP) แม้ว่าจะมีโครงการริเริ่มอย่างต่อเนื่องในการรักษาความปลอดภัยโปรโตคอล BGP–BGPsec, RPKI–ทั้งสองก็มีข้อจำกัดที่เข้าใจดี และทำให้ผู้ดูแลอินเทอร์เน็ตหวังหาโซลูชันที่แข็งแกร่งขึ้น จนกว่านั้น อินเทอร์เน็ตจะยังคงเป็นป่าตะวันตก
การวิเคราะห์ล่าสุดโดย cedarctic ที่ Chaincode Labs พบว่าโหนด Bitcoin ตั้งอยู่ในเพียง 4,551 AS ซึ่งเป็นส่วนย่อยค่อนข้างเล็กของเครือข่ายที่เป็นองค์ประกอบของอินเทอร์เน็ต พวกเขาอธิบายชุดของการโจมตีที่สามารถนำไปสู่การโจมตี eclipse โดยการบุกรุก AS upstream ที่โหนดทำงานอยู่ [8] การกระจายของโหนดในจำนวนเล็กๆ ระหว่าง AS และความสัมพันธ์เฉพาะระหว่าง AS เหล่านี้สร้างเวกเตอร์การโจมตีที่ไม่เหมือนใคร แม้ว่าจะมีการแก้ไข แต่ยังไม่ชัดเจนว่าเวกเตอร์การโจมตีนี้เข้าใจดีก่อนหน้านี้โดย bitcoiners หรือศัตรูของพวกเขาหรือไม่
การโจมตีใดๆ ที่อาศัยการบุกรุก AS หนึ่งหรือหลาย AS ต้องการทรัพยากร การประสานงาน และทักษะเพื่อบรรลุผล แม้ว่าจะไม่มีรายงานการโจมตีประเภทนี้ที่ประสบความสำเร็จบนโหนด Bitcoin แต่การโจมตีดังกล่าวได้รับการดำเนินการสำเร็จกับนักขุด [9] กระเป๋าเงิน [10] แพลตฟอร์มแลกเปลี่ยน [11] และบริดจ์ [12] แม้ว่าเราจะไม่สามารถแก้ไขอินเทอร์เน็ตได้ แต่เราสามารถติดอาวุธให้โหนดด้วยเครื่องมือในการทำงานในสภาพแวดล้อมที่เป็นปรปักษ์นี้
ด้านล่างนี้คือฟีเจอร์และฟังก์ชันการทำงานบางอย่างที่ Bitcoin Core พัฒนาขึ้นหรือรวมการสนับสนุนเพื่อติดอาวุธให้ผู้ใช้ต่อต้านการโจมตีระดับเครือข่าย:
TOR (the Onion Router) เป็นเครือข่ายซ้อนทับที่มุ่งเน้นความเป็นส่วนตัวที่เก่าแก่ที่สุดที่รวมอยู่ใน Bitcoin Core มันสร้างการกระโดดระหว่างเครือข่ายสุ่มของเพียร์เพื่อทำให้การรับส่งข้อมูลคลุมเครือ
v2transport [13] เข้ารหัสการเชื่อมต่อระหว่างเพียร์ ซ่อนการรับส่งข้อมูลจากผู้สอดแนมและผู้เซ็นเซอร์ เป้าหมายคือขัดขวางผู้สังเกตการณ์เครือข่ายแบบพาสซีฟจากการสอดรู้เนื้อหาของการสื่อสารของคุณกับโหนดอื่น
I2P (the Invisible Internet Project [14]) เป็นฟีเจอร์เสริมของ Core ที่เปิดใช้งานชั้นส่วนตัวและเข้ารหัสเพิ่มเติมสำหรับการเชื่อมต่อของคุณ เป็นเครือข่ายไร้ระบุตัวตนคล้าย Tor ที่พึ่งพาเพียร์เพื่อทำให้การรับส่งข้อมูลระหว่างไคลเอ็นต์และเซิร์ฟเวอร์คลุมเครือ
ASmap [15] เป็นอีกฟีเจอร์เสริมของ Core ที่ใช้การบรรเทาสำหรับการโจมตี Erebus ที่ผู้เขียนได้ระบุไว้แล้วในบทความ และใช้กับการโจมตีที่ใช้ AS ทั้งหมด ด้วยการทำให้กลไกการเชื่อมต่อเพียร์ของ Bitcoin ตระหนักถึง AS ที่เพียร์มาจากเพื่อให้แน่ใจว่ามีความหลากหลายระหว่างเพียร์ eclipse จะยากขึ้นแบบทวีคูณ เนื่องจากผู้โจมตีจะต้องบุกรุก AS หลายตัว ซึ่งไม่น่าจะเกิดขึ้นมากและแทบจะเป็นไปไม่ได้โดยไม่ถูกตรวจพบ Bitcoin Core รองรับการรับแผนที่ของเครือข่าย IP ไปยัง AS ของพวกเขา (AS-map) ตั้งแต่ Core 20.0 และโครงการ Kartograf ช่วยให้ผู้ใช้ทุกคนสร้าง ASmap ดังกล่าวได้อย่างง่ายดาย
เนื่องจากอินเทอร์เน็ตมีแนวโน้มที่จะยังคงเปราะบางต่อการโจมตีหลายอย่าง หนึ่งในสิ่งที่เราสามารถทำได้คือสังเกตพฤติกรรมของเพียร์ของเราเพื่อพยายามตรวจจับพฤติกรรมที่เป็นอันตราย นี่คือแรงผลักดันเบื้องหลังโครงการ peer-observer โดย 0xb10c [16] มันให้ระบบบันทึกที่ใช้ eBPF tracepoint แบบเต็มรูปแบบ (วิธีการสังเกตการกระทำที่เล็กที่สุดในโปรแกรมที่ทำงานบนระบบปฏิบัติการ) เพื่อสังเกตกิจกรรมของโหนด รวมถึงพฤติกรรมของเพียร์ นอกจากนี้ยังให้ทุกอย่างที่คุณต้องการในการสร้างระบบบันทึกของคุณเอง
การรักษาความปลอดภัยของความสามารถในการเชื่อมต่อกับเพียร์และแลกเปลี่ยนข้อความเป็นส่วนประกอบสำคัญของสิ่งที่ทำให้ Bitcoin ทำงาน
Bitcoin ทำงานในสภาพแวดล้อมที่เป็นปรปักษ์หลายมิติ ซึ่งภัยคุกคามหลายอย่างถูกสร้างขึ้นโดยข้อจำกัดของสถาปัตยกรรมอินเทอร์เน็ตเอง หาก Bitcoin จะอยู่รอดและเจริญรุ่งเรือง นักพัฒนาและผู้ใช้ต้องเรียนรู้ที่จะนำทางในน่านน้ำแปลกประหลาดเหล่านี้
ราคาของเครือข่ายเปิดคือความระมัดระวังตลอดกาล
รับสำเนาของ The Core Issue วันนี้!
อย่าพลาดโอกาสในการเป็นเจ้าของ The Core Issue — มีบทความที่เขียนโดยนักพัฒนา Core หลายคนอธิบายโครงการที่พวกเขาทำงานด้วยตัวเอง!
บทความนี้เป็น Letter from the Editor ที่ปรากฏในฉบับพิมพ์ล่าสุดของ Bitcoin Magazine, The Core Issue เรากำลังแชร์ที่นี่เป็นการมองก่อนถึงแนวคิดที่สำรวจตลอดฉบับเต็ม
[0] https://web.mit.edu/gtmarx/www/connect.html
[1] https://satoshi.nakamotoinstitute.org/emails/cryptography/4/
[2] https://bitcoincore.org/en/2019/11/08/CVE-2017-18350/
[3] https://bitcoincore.org/en/2024/07/03/disclose-unbounded-banlist/
[4] https://delvingbitcoin.org/t/fingerprinting-nodes-via-addr-requests/1786/
[5] https://en.wikiquote.org/wiki/Ellen_Ullman
[6] https://www.usenix.org/system/files/conference/usenixsecurity15/sec15-paper-heilman.pdf
[7] https://ihchoi12.github.io/assets/tran2020stealthier.pdf
[8] https://delvingbitcoin.org/t/eclipsing-bitcoin-nodes-with-bgp-interception-attacks/1965
[9] https://www.theregister.com/2014/08/07/bgp_bitcoin_mining_heist/
[10] https://www.theverge.com/2018/4/24/17275982/myetherwallet-hack-bgp-dns-hijacking-stolen-ethereum
[11] https://medium.com/s2wblog/post-mortem-of-klayswap-incident-through-bgp-hijacking-en-3ed7e33de600
[12] www.coinbase.com/blog/celer-bridge-incident-analysis
[13] https://bitcoinops.org/en/topics/v2-p2p-transport/
[14] https://geti2p.net/en/
[15] https://asmap.org
[16] https://peer.observer
[13] https://github.com/asmap/kartograf
โพสต์นี้ The Core Issue: Your Node Vs. The Digital Wilderness ปรากฏครั้งแรกบน Bitcoin Magazine และเขียนโดย Julien Urraca, Fabian Jahr, 0xb10c และ CedArctic


