9 ก.ย. 2022 เวลา 11:00 • ไอที & แก็ดเจ็ต
Software Bill Of Materials รายการองค์ประกอบที่จำเป็นต้องรู้
1
ในการพัฒนาซอฟแวร์เรื่องของ Software Bill Of Materials กลายเป็นส่วนประกอบกอบที่สำคัญ เกี่ยวข้องกับรายการวัสดุที่ใช้ทำส่วนประกอบต่างๆ ของซอฟแวร์ และการพัฒนา Application
1
หลายองค์กรนิยมที่จะทำการพัฒนา Application ออกมาเพื่อรองรับการทำงานและจัดเก็บข้อมูลต่างๆ ในการดำเนินธุรกิจ ซึ่งการทำ SBOM นั้นจะช่วยทำให้องค์กรและผู้ใช้เข้าใจถึงสิ่งที่กำลังใช้ และตำแหน่งที่อาจมีความเสี่ยงได้ดียิ่งขึ้น
Software Bill of Materials (SBOM) คือ รายการของส่วนประกอบที่เป็นโอเพ่นซอร์สและของบุคคลที่สามที่มีการใช้งานในโค้ดนั่นเอง (Codebase) ซึ่งยังรวมถึงรายการของใบอนุญาตการใช้งานสำหรับแต่ละส่วนประกอบ หรือเวอร์ชั่นของส่วนประกอบที่ใช้อยู่ในโค้ด และรายการอุดช่องโหว่ของแต่ละส่วนประกอบด้วย ทำให้ทีมด้านความปลอดภัยสามารถที่จะระบุปัญหาต่างๆ ที่เกี่ยวข้องกับรายการนั้นๆ และความเสี่ยงจากการใช้งานโดยไม่ได้รับอนุญาติอีกด้วย
  • แนวคิดในการทำ Software Bill of Materials (SBOM)
แนวคิดของ Software Bill of Materials มาจากสายงานการผลิตแบบโรงงานซึ่ง Bill of Materials นั้นก็คือรายละเอียดของวัตถุดิบหรือส่วนประกอบที่นำมารวมกัน หรือประกอบกันจนได้มาเป็นผลิตภัณท์ อย่างเช่นในอุตสาหกรรมรถยนต์ โรงงานผลิตจะต้องมีการลงรายละเอียดของแต่ละส่วนประกอบที่ใช้ในการผลิดรถเข้ามาด้วย ซึ่งรายการของ BOM นั้นจะได้มาจากผู้ผลิตที่ทำการส่งรายการส่วนประกอบต่างๆ ของรถยนต์ ไปให้โรงงานผลิดทำการประกอบ รวมไปถึงซัพพลายเออร์ของทางผู้ผลิต
จึงทำให้เวลาที่เกิดปัญหากับอุปกรณ์ชิ้นใดชิ้นหนึ่งที่เป็นส่วนประกอบของรถยนต์ ทางโรงงานผู้ผลิตหรือเจ้าของแบรนด์จึงสามารถที่จะระบุได้ว่ามีรถยนต์รุ่นไหนบ้างที่ได้รับผลกระทบจากอุปกรณ์ที่มีปัญหา และสามารถแจ้งผู้บริโภคให้นำรถรุ่นนั้นๆ มาทำการเปลี่ยนอะไหล่หรือซ่อมแซมชิ้นส่วนที่มีปัญหาได้อย่างถูกต้องและรวดเร็ว
สำหรับการพัฒนาซอฟแวร์นั้นก็ต้องการความแม่นยำและถูกต้องเช่นเดียวกันกับการผลิตรถยนต์ ซึ่งต้องอาศัย Software Bill of Materials ที่เป็นรายการของส่วนประกอบต่างๆ ไม่ว่าจะเป็นโอเพ่นซอร์สหรือจากบุคคลที่สามมาทำการตรวจสอบว่าโค้ดที่นำมาใช้ในซอฟแวร์นั้นๆ มีคุณภาพที่ดี รวมไปถึงถูกต้องตามกฏข้อบังคับและปลอดภัยได้มาตราฐาน
  • ทำไมองค์กรต้องการ Software Bill of Materials?
ในปี 2021 มีเหตุการณ์ทางด้านข้อมูลรั่วไหลที่โด่งดังเกิดขึ้นหลายเหตุการณ์ อย่างเช่น Codecove, Kaseya, และล่าสุดอย่าง Apache Log4j ซึ่งส่วนมากเป็นการจู่โจมแบบ Supply Chain Attacks โจมตีไปยังองค์กรณ์ต่างๆ ทำให้ประธานาธิบดีไบเดนของสหรัฐฯ ได้ทำการร่างแนวทางที่เรียกว่า Cybersecurity Executive Order เพื่อเป็นแนวทางปฏิบัติสำหรับองค์กรณ์ภาครัฐ
1
รวมไปถึงตัวแทนและบริษัทที่จะต้องทำสัญญากับภาครัฐ ที่หรือหน่วยงานที่จะต้องทำธุรกิจกับองค์กรณ์ภาครัฐในอเมริกา ต้องมีการรักษาความปลอดภัยในซอฟแวร์ของตนตามแนวทางปฏิบัตินี้ และจากคำแนะนำหลายๆ อย่าง หนึ่งในนั้นก็รวมไปถึงการใช้งาน SBOM ด้วย เพื่อที่จะทำให้การใช้งานซอฟแวร์ที่ภาครัฐใช้งานมีความปลอดภัยและมั่นคง
และนั่นทำให้แนวทางดังกล่าวเป็นแนวทางปฏิบัติสำหรับองค์กรเอกชน และหน่วยงานต่างๆ ที่ต้องการจะทำธุรกิจกับภาครัฐต้องมีการปฏิบัติตามแนวทางนี้ จนกลายเป็นมาตราฐานเบื้องต้นที่องค์กรณ์ต้องทำการสร้าง ทดสอบ ปกป้องและ ปฏิบัติกับการพัฒนาซอฟแวร์ Application ให้ได้ตามมาตราฐาน
  • มีอะไรอยู่ใน Software Bill Of Materials บ้าง?
สิ่งที่อยู่ใน SBOM คือ รายการส่วนประกอบที่สำคัญทั้งหมดที่มี ยกตัวอย่างเช่น ส่วนประกอบที่เป็นโอเพ่นซอร์ส ข้อมูลของใบอนุญาติสำหรับการใช้งานโอเพ่นซอร์สต่างๆ รวมไปถึงช่องโหว่ที่ปรากฏอยู่ในส่วนประกอบนั้นๆ
  • ส่วนประกอบของโอเพ่นซอร์ส (Open Source Components)
ส่วนมาก Developer มักจะใช้โอเพ่นซอร์สมาเป็นส่วนประกอบอยู่ในโค้ดที่พวกเขาเขียนขึ้น ซึ่งโอเพ่นซอร์สนั้นช่วยให้งานของเหล่า Developer สั้นลง ช่วยให้วงจรการพัฒนาทำได้รวดเร็วขึ้น และสามารถส่งต่อ Application ให้กับลูกค้าได้ทันเวลา จากรายงาน Open Source Security Risk and Analysis (OSSRA) ระบุว่า ส่วนประกอบของโค้ดต่างๆ นั้นมักจะประกอบไปด้วยโอเพ่นซอร์สมากถึง 97%
ถึงแม้ว่าโอเพ่นซอร์สจะมีความเสี่ยงที่น้อยกว่า Proprietary โค้ด แต่การปล่อยปละละเลยโอเพ่นซอร์สก็อาจเป็นจุดเริ่มต้นที่จะนำมาซึ่งความเสี่ยงต่อองค์กรณ์ที่ใหญ่ขึ้นได้ ซึ่งมีองค์กรณ์ส่วนน้อยมากที่มีมุมมองต่อโอเพ่นซอร์สได้ครบถ้วนและสมบูรณ์ นั่นหมายถึงรายการ Software Bill Of Materials ที่จะรวมรายการส่วนประกอบของโอเพ่นซอร์สต่างๆ อย่างที่กล่าวไปข้างต้น เช่น ใบอนุญาตของส่วนประกอบ เวอร์ชั่น และสถานนะการอัพเดตแพตช์
  • ใบอนุญาตของโอเพ่นซอร์ส (Open Source Licenses)
ทราบหรือไม่ว่าใบอนุญาติสำหรับโอเพ่นซอร์สที่คุณนำมาใช้เป็นส่วนประกอบใน Application นั้น ถูกต้องตามกฏข้อบังคับ หรือคุณใช้ใบอนุญาตินั้นกับทุกๆ ส่วนประกอบของโอเพ่นซอร์สทั้งหมดที่คุณเอามาใช้กับ Application
ซึ่งการที่เราพลาดในการตรวจสอบใบอนุญาตของโอเพ่นซอร์ส อาจทำให้ธุรกิจตกอยู่ในความเสี่ยงในการละเมิดทรัพย์สินทางปัญญาได้ และจากสถิติของการตรวจสอบซอร์สโค้ดของรายงานจากทาง OSSRA นั้นได้แจ้งว่า 53% ของโค้ดโอเพ่นซอร์สเหล่านี้มีการถูกละเมิดจากการใช้งาน ซึ่งการละเมิดอาจทำให้ไปกระทบกับขั้นตอนในการควบรวมบริษัทหรือการเข้าไปซื้อบริษัทที่เราต้องการ หรือสร้างปัญหาในการจัดจำหน่าย
1
นั่นทำให้รายการ Software Bill Of Materials นั้นมีความสำคัญในการควบคุมกำกับดูแลความเสี่ยงในทางกฏหมายและทรัพย์สินของบริษัท
  • เวอร์ชั่นของโอเพ่นซอร์ส (Open Source Versions)
รู้หรือไม่ว่าการนำโอเพ่นซอร์สไปใช้งานเป็นส่วนประกอบในโค้ดของคุณนั้น มีการดูแลรักษาอยู่สม่ำเสมอ…โดยความเสี่ยงจากขั้นตอนการปฏิบัติงานนั้น อาจนำความเสี่ยงทางด้านความปลอดภัยมาให้กับคุณในกรณีที่นำส่วนประกอบที่ล้าสมัยหรือหมดอายุแล้วมาใช้ หรือการนำส่วนประกอบจากชุมชนของเหล่า Developer ที่ไม่มีกิจกรรมเคลื่อนไหวอะไรใหม่ๆ หรือจากโปรเจ็คท์ที่ไม่ได้มีบุคลากรที่มีประสิทธิภาพเพียงพอในการดูแลรักษาโค้ด ยังไม่รวมถึงคุณภาพจากการโค้ดดิ้ง ความน่าเชื่อถือและการดูแลรักษาโค้ดที่ดี
รวมไปถึงความเสี่ยงทางด้านการปฏิบัติงานต่างๆ ทำให้ความเสี่ยงเหล่านั้นเกิดขึ้นนั่นเอง ซึ่งถ้าDeveloper เหล่านั้นไม่สามารถค้นหาและซ่อมแซมช่องโหว่ข้อผิดพลาดของซอร์สโค้ดได้ ก็จะทำให้เกิดช่องโหว่ในการจู่โจมเข้ามาจากผู้ไม่ประสงค์ดี ซึ่ง SBOM จะเข้ามาช่วยบอกรายการของส่วนประกอบโอเพ่นซอร์สต่างๆ ที่มีช่องโหว่อยู่ หรือล้าสมัยและไม่ได้มีการปรับปรุง
  • ช่องโหว่ของโอเพ่นซอร์ส (Open Source Vulnerabilities)
รู้หรือไม่ว่าส่วนประกอบของโอเพ่นซอร์สที่คุณใช้อยุ่นั้นมีช่องโหว่…จากรายงาน OSSRA นั้นพบว่า ทุกๆ 2,400 โค้ดจะพบช่องโหว่ประมาณ 81% ซึ่งจะมีช่องโหว่บางอย่างที่ไม่ค่อยโด่งดังนัก อย่างเช่น Apache Struts หรือ OpenSSL แต่ช่องโหว่เหล่านี้มักจะถูกนำมาใช้ในการโจมตี
ซึ่งถ้าเกิดเหตุการณ์ขึ้นสิ่งที่เราต้องการอันดับแรกคือ การตระหนักรู้ว่าช่องโหว่อันไหนไปอยู่ในโอเพ่นซอร์สที่เราใช้อยู่บ้าง ยกตัวอย่างเช่น ในกรณีที่บริษัทเกิดเหตุการณ์ข้อมูลรั่วไหล ซึ่งทางบริษัทนั้นขาดในเรื่องของการตรวจสอบลิสรายชื่อทั้งหมดของอุปกรณ์ ซึ่งถ้ามี SBOM ก็จะสามารถเป็นตัวช่วยในการระวังช่องโหว่ต่างๆ ได้
หากคุณกำลังมองหาเครื่องมือที่จะช่วยในเรื่องของการทำ Software Bill Of Materials ทาง Synopsys บริษัทชั้นนำระดับโลก ผู้เชี่ยวชาญด้านการพัฒนาผลิตภัณฑ์อิเล็กทรอนิกส์และ Application ได้นำเสนอเครื่องมือวิเคราะห์องค์ประกอบซอฟแวร์ Software Composition Analysis (SCA) อย่างเช่น Black Duck ซึ่งสามารถสร้าง SBOM ที่สมบูรณ์
และยังนำเสนอความสามารถในการรวมส่วนประกอบของบุคคลที่สามและส่วนประกอบที่กำหนดเองได้อีกด้วย สิ่งสำคัญที่สุดคือ เครื่องมือ SCA สามารถให้ข้อมูลได้อย่างต่อเนื่อง เพื่อให้แน่ใจว่าคุณมีข้อมูลที่อัพเดท และทันสมัยที่สุดเกี่ยวกับความเสี่ยงของ
โอเพ่นซอร์ส
บริษัท เอ็นฟอร์ซ ซีเคียว จำกัด (มหาชน) (SECURE) ผู้เชี่ยวชาญในด้านผลิตภัณฑ์รักษาความปลอดภัยทางเทคโนโลยีไซเบอร์ (Cyber Security) ในฐานะตัวแทนจำหน่ายและผู้ให้บริการอย่างครบวงจร โดยนำเสนอผลิตภัณฑ์ที่มีคุณภาพและมีชื่อเสียงระดับโลก เพื่อตอบสนองความต้องการของลูกค้าในด้านการรักษาความปลอดภัยทางเทคโนโลยีไซเบอร์
สามารถติดตามโซลูชั่นอื่นๆ ได้ทาง
โฆษณา