Security in FOSS

อ่านที่ พี่เทพ blog เรื่องการจัดการ security ในเดเบียนแล้ว ระลึกได้ว่าเคยหลุดเข้าไปในขั้นตอนการจัดการ security ของ FreeBSD เมื่อหลายปีก่อน พบว่ามีลักษณะใกล้เคียงกัน .. จะว่าไปแล้วมันก็เป็น practice อย่างนึงที่วัฒนธรรม FOSS นำมาปรับใช้ในการจัดการเรื่อง security เกือบทุกชุมชน

บ่อยครั้งที่ผู้สนับสนุน FOSS นำเอาเรื่อง security มานำเสนอว่าปลอดภัยกว่า proprietary/commercial software ในขณะที่กลุ่ม proprietary/commercial software ก็แย้งว่าการเผยซอร์สเป็นการเผยไต๋ทำให้โดนโจมตีได้ง่าย

ว่ากันตามตรง ช่องโจมตีมักจะพบโดย black hat มากกว่าพบโดยการรีวิวซอร์สโดย hackers (จริงๆ) หรือ maintainers และในปัจจุบันช่องโจมตีไม่ได้หากันที่ซอร์ส แต่หาจากไบนารีตรงๆ โดยเครื่องมือจำพวกดีบักเกอร์เนื่องจากผู้โจมตีจำเป็นต้องได้ข้อมูลขณะที่ไบนารีนั้นกำลัง execute จึงจะทำ bypass, overflow, หรือ กำหนด condition ได้ถูก ดังนั้นในแง่การหาช่องโจมตีจะเห็นหรือไม่เห็นซอร์สจึงไม่ใช่ประเด็นเท่าไหร่นัก และกลายเป็นว่าใช้ซอฟต์แวร์เผยหรือปกปิดซอร์สมันก็แย่พอๆ กัน แต่ในแง่การพัฒนา ปรับปรุง แก้ไข หลักการของ FOSS ที่เผยซอร์สมีศักยภาพที่ดีกว่า หากผู้ใช้หรือชุมชนมาช่วยรีวิวได้มากพอ มัน ‘ควรจะ’ พบจุดบกพร่องได้เร็ว และได้รับการแก้ไขได้ไวกว่า .. Elias Levy (Aleph One / Bugtraq) เคยพูดเรื่องนี้ไว้ว่า

“Open Source Software certainly does have the potential to be more secure than its closed source counterpart. But make no mistake, simply being open source is no guarantee of security.”

FOSS ไม่ได้ปลอดภัยกว่า แต่มีศักยภาพที่จะปลอดภัยกว่า

นึกถึง

  • security mindsets ในขั้นตอน design
  • secure programming ในขั้นตอน coding
  • security tools (e.g. valgrind, flawfinder, … ) ในการตรวจสอบ code / binary
  • ฯลฯ

ทำได้ก็ลด security bugs/vulnerabilities ไปได้เพียบแล้ว :)