แบ็กดอร์ XZ: เวลา เวลาต้องสาป และเรื่องหลอกลวง
- เพิ่งมีการค้นพบแบ็กดอร์ที่ซ่อนอยู่ใน tarball ของ xz/liblzma
- นี่อาจเป็นหนึ่งในการละเมิดความไว้วางใจครั้งใหญ่ที่สุดครั้งหนึ่งในระบบนิเวศซอฟต์แวร์เสรี
- คาดว่าแบ็กดอร์ถูกแทรกโดย Jia Tan ผู้ดูแลโครงการ xz มาอย่างยาวนาน
- ระหว่างที่ Jia ทำหน้าที่เป็นผู้ดูแล เขายังคงเป็นบุคคลที่ค่อนข้างลึกลับ และแทบไม่มีใครรู้เกี่ยวกับตัวตนที่แท้จริงของเขา
- ในโลกซอฟต์แวร์เสรี การไม่เปิดเผยตัวตนมักถูกมองว่าเป็นเรื่องดี แต่ในกรณีนี้ การได้รู้ว่าใครคือคนที่สั่งสมความไว้วางใจจากชุมชนมาเป็นเวลานานแล้วนำมันไปใช้ในทางที่ผิดนั้นเป็นเรื่องน่าสนใจ
- เราสามารถเรียนรู้เกี่ยวกับเขาได้มากขึ้นจากเมทาดาทาที่ดึงได้จากกิจกรรมของ Jia
เราเรียนรู้อะไรจากเวลาได้บ้าง?
- ลองคิดถึงเงื่อนไขที่ซอฟต์แวร์ถูกสร้างขึ้น
- รูปแบบของเวลาสามารถบอกอะไรเราได้หลากหลายมาก
- ในบรรดาคนที่เขียนโค้ด มีทั้งคนที่ทำเป็นอาชีพและคนที่ทำเป็นงานอดิเรก
- ยังมีคนที่เขียนโค้ดในช่วงเวลาต่างกันไปตามภูมิภาค
- วันหยุด ตารางการนอน และสมดุลระหว่างงานกับชีวิต ล้วนส่งผลต่อการเขียนโค้ดเช่นกัน
- การเข้าใจว่าใครสักคนเขียนโค้ดเมื่อไร ช่วยให้เข้าใจได้ว่าทำไมและจากที่ไหนพวกเขาจึงเขียนโค้ด
การวิเคราะห์คอมมิตของ Jia
- มีการวิเคราะห์คอมมิตและ timestamp ของ JiaT75 ในรีโพซิทอรี XZ
- timestamp ของ Git สามารถแก้ไขได้ตามต้องการ แต่การบิดเบือนข้อมูลเวลาให้ดูน่าเชื่อนั้นทำได้ยากในทางปฏิบัติ
- การเปลี่ยนแค่ timezone ทำได้ง่ายกว่าการเปลี่ยนเวลาจริง
- Jia Tan น่าจะต้องการให้ผู้คนคิดว่าเขาเป็นคนเอเชีย โดยเฉพาะคนจีน และคอมมิตส่วนใหญ่ของเขา (440 รายการ) ใช้ timestamp แบบ UTC+08
- แต่ในความเป็นจริง คาดว่าเขาน่าจะมาจากที่ใดที่หนึ่งในเขตเวลา UTC+02 (ฤดูหนาว) / UTC+03 (ช่วง daylight saving time)
- มีบางครั้งที่เขาลืมเปลี่ยน timezone ซึ่งสอดคล้องกับช่วงเปลี่ยนเวลา daylight saving time ของยุโรปตะวันออก
- ตารางการทำงานและวันหยุดของ Jia ดูจะสอดคล้องกับชาวยุโรปตะวันออกมากกว่าชาวจีน
ความเห็นของ GN⁺
- บทความนี้นำเสนอกรณีศึกษาที่น่าสนใจเกี่ยวกับความสำคัญของความไว้วางใจและการไม่เปิดเผยตัวตนในชุมชนนักพัฒนาซอฟต์แวร์
- ภัยคุกคามด้านความปลอดภัยอย่างแบ็กดอร์สามารถสร้างความเสียหายอย่างมากต่อความน่าเชื่อถือของโครงการโอเพนซอร์ส และนั่นหมายความว่านักพัฒนาควรใส่ใจกับการรีวิวโค้ดและการตรวจสอบความปลอดภัยมากขึ้น
- เหตุการณ์ลักษณะนี้ย้ำเตือนนักพัฒนาให้เห็นความสำคัญของ commit log และเมทาดาทา การยืนยันตัวตนของผู้มีส่วนร่วมที่เชื่อถือได้อาจเป็นสิ่งจำเป็นต่อความปลอดภัยของโครงการ
- โครงการโอเพนซอร์สอื่นที่มีฟังก์ชันคล้ายกัน ได้แก่ GitLab และ GitHub ซึ่งกำลังเสริมความแข็งแกร่งให้กับโปรโตคอลความปลอดภัยและการยืนยันตัวตนของผู้ใช้เพื่อรักษาความไว้วางใจของชุมชน
- บทความนี้แสดงให้เห็นว่าการหาสมดุลระหว่างการไม่เปิดเผยตัวตนกับความไว้วางใจภายในชุมชนเทคโนโลยีนั้นสำคัญเพียงใด ผู้ดูแลโครงการและผู้มีส่วนร่วมควรเรียนรู้จากเหตุการณ์เช่นนี้ และดำเนินมาตรการเพื่อเพิ่มความโปร่งใสและความปลอดภัยของโค้ด
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
สรุปความคิดเห็นแรก:
สรุปความคิดเห็นที่สอง:
สรุปความคิดเห็นที่สาม:
gcแมปไปที่TZ=UTC0 git commitสรุปความคิดเห็นที่สี่:
สรุปความคิดเห็นที่ห้า:
สรุปความคิดเห็นที่หก:
สรุปความคิดเห็นที่เจ็ด:
สรุปความคิดเห็นที่แปด:
สรุปความคิดเห็นที่เก้า: