1 คะแนน โดย GN⁺ 2024-05-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ข้อถกเถียงเรื่องการตัดฟังก์ชันออกจากแพ็กเกจ KeePassXC ของ Debian

  • ผู้ดูแลแพ็กเกจ KeePassXC ของ Debian ตัดสินใจฝ่ายเดียวที่จะลบฟังก์ชันต่าง ๆ ทั้งหมดออกจากแพ็กเกจ
  • ใน Debian sid แพ็กเกจ keepassxc พื้นฐานจะเหลือเพียงความสามารถขั้นต่ำ โดยตัดฟังก์ชันอย่างระบบเครือข่าย, SSH agent, ปลั๊กอินเบราว์เซอร์, fdo secret storage และอื่น ๆ ออก
  • หากต้องการฟังก์ชันเหล่านี้ ผู้ใช้ต้องเปลี่ยนไปใช้แพ็กเกจ keepassxc-full

ข้อถกเถียงเกี่ยวกับเหตุผลในการตัดฟังก์ชัน

  • ในรายงานบั๊กของ Debian มีการอ้างเหตุผลด้านความปลอดภัย
  • แต่ทีม KeePassXC มองว่าการลบไม่ใช่แค่ระบบเครือข่าย แต่ยังรวมถึงการรองรับ Yubikey, การกรอกอัตโนมัติ, การเชื่อมต่อกับเบราว์เซอร์ และฟังก์ชันเกือบทั้งหมดนั้นมากเกินไป
  • ยังมีความเห็นว่าการตัดฟังก์ชันเช่นนี้ ไม่ได้ช่วยลดช่องโหว่มากไปกว่าการทำให้ผู้ใช้สูญเสียความสามารถที่จำเป็น

จุดยืนและปฏิกิริยาของ Debian

  • Debian มองว่าการลบโค้ดที่ไม่ได้ใช้และฟังก์ชันที่ไม่จำเป็น เป็นแนวทางที่ดีที่สุดด้านความปลอดภัยหลังเหตุการณ์ประนีประนอมของ liblzma
  • อย่างไรก็ตาม การตัดสินใจฝ่ายเดียวโดยไม่หารือล่วงหน้ากับทีม KeePassXC ก็ถูกวิจารณ์เช่นกัน
  • เพื่อลดความสับสนของผู้ใช้ Debian จะจัดเตรียม transitional package ที่เปลี่ยน keepassxc ไปเป็น keepassxc-full

ความเห็นของ GN⁺

  • การลบฟังก์ชันที่ไม่จำเป็นเพื่อความปลอดภัยนั้นไม่ใช่เรื่องแย่ในตัวเอง แต่การไม่เปลี่ยนชื่อแพ็กเกจและตัดฟังก์ชันที่ผู้ใช้เดิมใช้งานอยู่แบบกะทันหันไม่ใช่วิธีที่ดี
  • เมื่อดิสทริบิวชันอย่าง Debian เปลี่ยนนโยบายแพ็กเกจ ควรพยายามหารือกับนักพัฒนาอัปสตรีมให้มากที่สุด และลดความสับสนจากมุมมองของผู้ใช้ให้น้อยที่สุด
  • แนวทางที่เหมาะสมคือแยกแพ็กเกจแบบฟังก์ชันครบถ้วนกับแพ็กเกจขั้นต่ำออกจากกัน ตั้งชื่อให้ชัดเจน และเปิดให้ผู้ใช้เลือกได้
  • การมองหาตัวจัดการรหัสผ่านตัวอื่นก็เป็นทางเลือกหนึ่ง แต่การมีส่วนร่วมและร่วมมือกับ KeePassXC ให้มากขึ้นเพื่อช่วยแก้ปัญหาก็สำคัญเช่นกัน
  • การเป็นซอฟต์แวร์เสรีไม่ได้หมายความว่าผู้ดูแลแพ็กเกจจะทำอะไรก็ได้ตามใจ แต่ควรเคารพความคิดเห็นของผู้ใช้และชุมชนนักพัฒนา พร้อมสื่อสารอย่างโปร่งใส

1 ความคิดเห็น

 
GN⁺ 2024-05-12
ความเห็นจาก Hacker News

สรุปความคิดเห็นจาก Hacker News

1. ความกังวลเกี่ยวกับการตัดฟีเจอร์ของโปรเจ็กต์ต้นน้ำออกแล้วแจกจ่ายภายใต้ชื่อเดิม

  • การตัดฟีเจอร์ที่โปรเจ็กต์ต้นน้ำพัฒนาไว้แล้วนำไปแจกจ่ายภายใต้ชื่อเดิม อาจก่อให้เกิดปัญหาได้
  • หากจะดำเนินไปในแนวทางนี้ ก็ควร fork แล้วแจกจ่ายภายใต้ชื่ออื่น
  • มีการกล่าวถึงกรณีในอดีตที่ผู้ดูแลแพ็กเกจ Chromium ของ Debian ปิดการติดตั้งส่วนขยายเองตามอำเภอใจ

2. ความเห็นว่าการตัดฟีเจอร์เครือข่ายออกเป็นเหตุเป็นผลในมุมมองด้านความปลอดภัย

  • ในโปรแกรมจัดการรหัสผ่าน ฟีเจอร์เครือข่ายและการเชื่อมรวมกับเบราว์เซอร์อาจเป็นช่องโหว่ที่อาจเกิดขึ้นได้
  • หากใช้เฉพาะฐานข้อมูลที่เชื่อถือได้โดยไม่มีฟีเจอร์ที่เกี่ยวข้องกับเครือข่าย ต่อให้พบช่องโหว่ก็จะไม่สามารถนำไปใช้โจมตีได้
  • ใน Debian ยังมีแพ็กเกจเวอร์ชันเต็มที่มีฟีเจอร์เครือข่ายรวมอยู่ด้วย ดังนั้นผู้ใช้ที่ต้องการสามารถติดตั้ง keepassxc-full ได้
  • อย่างไรก็ตาม การเรียก upstream ว่า "แย่" ไม่ได้ก่อให้เกิดประโยชน์ และ keepassxc-lite กับ keepassxc-full อาจเป็นชื่อแพ็กเกจที่เหมาะสมกว่า

3. มีความเห็นว่าการแพ็กทั้งเวอร์ชัน "full" และ "minimal" เป็นทางเลือกที่ถูกต้อง

  • ควรกำหนดความสัมพันธ์แบบ Conflicts ระหว่างสองเวอร์ชัน และใช้แท็ก Provides กับ Replaces เพื่อให้ผู้ใช้เลือกได้
  • มีการตั้งคำถามว่าทำไมสิ่งนี้จึงไม่ใช่ทางเลือกที่ชัดเจนอยู่แล้ว

4. มีการตั้งข้อกังวลว่าใน Arch Linux มีการบังคับให้พึ่งพาแพ็กเกจ passim โดยไม่มีความยินยอมจากผู้ใช้

  • แพ็กเกจ fwupd ถูกตั้งค่าให้พึ่งพา passim โดยไม่มีความยินยอมจากผู้ใช้
  • passim รันเว็บเซิร์ฟเวอร์ที่ 0.0.0.0:27500 และใช้ GnuTLS ซึ่งมีช่องโหว่มาก
  • การตั้งค่าเช่นนี้น่ากังวลเพราะอาจถูกนำไปใช้โจมตีได้

5. มีความเห็นว่าตามหลักการสร้างความประหลาดใจให้น้อยที่สุด ไม่ควรปิดฟังก์ชันหลักหากไม่มีความเสี่ยงที่มีการบันทึกไว้อย่างชัดเจน

  • ฟีเจอร์ต่าง ๆ ของ KeePassXC จะไม่กลายเป็นสาเหตุของช่องโหว่หากผู้ใช้ไม่ได้เข้าไปมีส่วนร่วมอย่างชัดเจน
  • ฟีเจอร์เชื่อมรวมกับเบราว์เซอร์ปลอดภัยกว่าการเข้าถึงคลิปบอร์ดมาก และแนวทางนี้ก็ไม่สอดคล้องกับวิสัยทัศน์ของโปรเจ็กต์
  • ผู้ใช้ที่จะได้รับประโยชน์จากการเปลี่ยนแปลงนี้มีน้อยมาก ในขณะที่ผู้ที่ใช้ฟีเจอร์เชื่อมรวมกับเบราว์เซอร์จะได้รับความไม่สะดวกอย่างมาก

6. มีข้อโต้แย้งว่านี่เป็นการตัดสินใจที่ผิดของผู้ดูแลแพ็กเกจ Debian เพราะสามารถแยกความต่างได้โดยไม่ทำให้ผู้ใช้เดิมใช้งานไม่ได้

  • การมี KeePassXC แบบไม่มีฟังก์ชันเครือข่ายให้ใช้นั้นเป็นเรื่องดี แต่การมองว่าการเชื่อมรวมกับเบราว์เซอร์เป็นฟีเจอร์เฉพาะกลุ่มถือว่าไม่สอดคล้องกับความเป็นจริง
  • ผู้ใช้ KeePassXC บน Debian มากกว่าครึ่งน่าจะต้องประหลาดใจกับการตัดสินใจครั้งนี้
  • ท้ายที่สุดแล้วเป็นการตัดสินใจของผู้ดูแลแพ็กเกจ แต่ไม่ใช่การตัดสินใจที่ดี

7. อ้างอิงความเห็นของผู้ดูแล KeePassXC

  • มีรายงานว่าแนวทางการแพ็กแบบใหม่นี้ทำให้ขั้นตอนการทำงานของผู้คนพัง
  • ยังมีกรณีที่ผู้ใช้ไม่สามารถเข้าถึงฐานข้อมูลได้เพราะฟีเจอร์ Yubikey ถูกตัดออก
  • ผู้ที่สูญเสียการเข้าถึงความลับที่สำคัญที่สุดอาจทำพฤติกรรมที่ไม่มีเหตุผลในช่วงเวลาที่ตื่นตระหนกได้

8. มีความเห็นว่าหากมีการเปลี่ยนแปลงแพ็กเกจให้ต่างจากเจตนาของโปรเจ็กต์ต้นน้ำ ก็ควรแจกจ่ายภายใต้ชื่ออื่น

  • หากผู้ดูแล downstream เปลี่ยนแปลงแพ็กเกจ ก็ควรแจกจ่ายภายใต้ชื่ออื่น และรับผิดชอบจัดการรายงานบั๊กทั้งหมดที่เกิดจากเวอร์ชันที่ถูกแก้ไขนั้น

9. มีการแนะนำว่าสามารถดูการอภิปรายล่าสุดได้ใน GitHub issue

10. มีการชี้ว่าชื่อเรื่องไม่ถูกต้อง

  • โพสต์ต้นฉบับระบุว่าไม่ได้ตัดแค่ฟีเจอร์เครือข่าย แต่ตัดทุกฟีเจอร์ออก ซึ่งเป็นความจริง
  • ฟีเจอร์เสริมทั้งหมดรวมถึงฟีเจอร์ออฟไลน์ถูกตั้งให้ปิดในระหว่างการ build