ปิดแหล่งข้อมูลเปิด: Dispelling the fantasy
เผยแพร่แล้ว: 2022-03-31การติดตามการเปิดเผยช่องโหว่ของ Log4j ในเดือนธันวาคม 2021 และสถานการณ์ใหม่ของนักพัฒนาที่ทำลายไลบรารี Javascript ของเขา – 'color.js' & 'faker.js' สถานะของซอฟต์แวร์คอมพิวเตอร์โอเพนซอร์สจึงถูกเรียกเข้าสู่ปัญหา
ด้วยการประชุมที่มีชื่อเสียงที่ White Property เกี่ยวกับโอเพ่นซอร์ส และคำสั่งของรัฐบาลจากประธานาธิบดี Biden ของสหรัฐอเมริกา บางคนถึงกับแจ้งว่านี่คือ 'บทสรุปของการเปิดแหล่งข้อมูล' แม้ว่าการตรวจสอบช่องโหว่ที่สำคัญอาจเป็นการยั่วยวนใจว่าเป็นสัญญาณของอุปทานที่ยังเหลือไม่เพียงพอ แต่ความจริงก็มีนัยสำคัญจากสิ่งนั้น
ซอฟต์แวร์โอเพ่นซอร์สมีความปลอดภัยไม่มากหรือน้อยไปกว่าแพ็คเกจซอฟต์แวร์ธุรกิจ ในความเป็นจริง ซอฟต์แวร์คอมพิวเตอร์ระดับมืออาชีพส่วนใหญ่อาจมีคุณลักษณะหรือทำงานบนระบบโอเพ่นซอร์ส การจัดหาแบบเปิดหมายความว่าโปรแกรมซอฟต์แวร์ได้รับการจัดทำขึ้นในลักษณะที่บุคคลใดก็ได้ที่ต้องการเข้าถึงรหัสอุปทานได้
สิ่งที่เราดูจากการตอบกลับของ Log4j จากทีม Apache Log4j นั้นคือสิ่งที่เราหวังเป็นอย่างยิ่งว่าจะได้เห็น ซึ่งเป็นทีมที่รับแพ็คเกจซอฟต์แวร์ที่พวกเขาพัฒนาอย่างจริงจังและปัจจุบันตอบสนองต่อความต้องการของมูลนิธิที่จัดตั้งขึ้น เมื่อพิจารณาว่าพวกเขาเป็นอาสาสมัคร การตอบสนองประเภทนี้บ่งบอกถึงความสุขในการเป็นเจ้าของที่เราเห็นบ่อยในชุมชนแหล่งข้อมูลเปิด
ค่อนข้างจะมากกว่าการกระตุ้นการปิดโอเพ่นซอร์ส เหตุการณ์เช่น Log4j มักจะปรับปรุงการเพิ่มประสิทธิภาพโอเพ่นซอร์สโดยรวม มากในลักษณะเดียวกันกับที่ Heartbleed ปรับปรุงวิธีความคืบหน้าของกลุ่มการเติบโตของโอเพ่นซอร์สทั้งสองกลุ่ม ดังนั้น หากโอเพ่นซอร์สยังคงแสดงอยู่ที่นี่ต่อไป องค์กรควรทำอย่างไรเพื่อส่งต่อไปยังการตรวจจับและบรรเทาช่องโหว่อย่างเชี่ยวชาญมากขึ้น
การจัดการกับการป้องกันซอฟต์แวร์คอมพิวเตอร์จากระดับองค์กร
อย่างสมบูรณ์แบบ กลยุทธ์ในการระบุและบรรเทาช่องโหว่ต้องการให้เราร่างบทบาทบางอย่างไว้ล่วงหน้า บุคคลส่วนใหญ่หวังให้ซัพพลายเออร์แพ็คเกจซอฟต์แวร์ของตน ซึ่งก็คือผู้ที่พัฒนาซอฟต์แวร์คอมพิวเตอร์ที่พวกเขาพึ่งพา เพื่อตรวจสอบซอฟต์แวร์นั้น ผลลัพธ์สุดท้ายของการทดสอบนั้นจะเป็นผลลัพธ์ที่เน้นจุดอ่อนในซอฟต์แวร์ที่ซัพพลายเออร์จัดหาให้ ในโลกที่ยิ่งใหญ่ จุดอ่อนเหล่านั้นทั้งหมดจะได้รับการแก้ไขก่อนที่จะมีการจัดส่งโปรแกรมและการส่งมอบ
ในโลกที่แท้จริงนั้น จุดอ่อนเหล่านั้นบางส่วนจะถูกตั้งค่าไว้ล่วงหน้า บางจุดจะถูกทำเครื่องหมายว่า "ไม่มีโปรแกรมให้แก้ไข" และบางส่วนจะได้รับการแก้ไขในแง่ดีในระยะยาว รายการจุดอ่อนคืออะไรและจุดอ่อนใดบ้างที่ผู้ให้บริการมักเปิดเผย ยิ่งไปกว่านั้น ไม่มีเครื่องมือใดที่สามารถค้นพบจุดอ่อนทั้งหมดได้ และบางเครื่องมือก็ทำงานได้ก็ต่อเมื่อคุณมีรหัสทรัพยากร แม้ว่าคนอื่น ๆ จะต้องการซอฟต์แวร์ที่ทำงานอยู่ก็ตาม
คุณจะสังเกตว่าไม่มีการเอ่ยถึงคำว่า 'ช่องโหว่' ในเรื่องนี้ เนื่องจากมีการระบุเฉพาะและพื้นฐาน ในแอปพลิเคชัน ช่องโหว่เป็นเพียงจุดอ่อนที่สามารถใช้ประโยชน์ได้หรือมีโอกาสจริงในการแสวงหาประโยชน์
ช่องโหว่ส่วนใหญ่แต่ไม่ทั้งหมดถูกเปิดเผยผ่านกระบวนการรวมศูนย์ที่รู้จักว่าเป็นฐานข้อมูลช่องโหว่ระดับประเทศ หรือเฉพาะ NVD เท่านั้น แม้ว่า NVD จะมีรากฐานในสหรัฐอเมริกา และได้รับการดูแลโดยเจ้าหน้าที่สหรัฐฯ เนื้อหาของ NVD สามารถเข้าถึงได้ทั้งหมดและทำซ้ำในหลายประเทศ จากมุมมองของการกำกับดูแล การตรวจสอบการปรับปรุงเนื้อหาของ NVD เป็นวิธีที่ยอดเยี่ยมในการเก็บรักษาการเปิดเผยช่องโหว่ใหม่ๆ ที่ดีที่สุด
ปัญหาคือ NVD อัปเดตช้ากว่าการรายงานข่าวของสื่อ ดังนั้นด้วยช่องโหว่ที่สำคัญ เช่น Log4Shell, HeartBleed และ Dirty Cow ทีมงานที่ค้นหาช่องโหว่นี้อาจสร้างชื่อที่มีตราสินค้าสำหรับช่องโหว่ในความพยายามขยายจิตสำนึกของความยากลำบาก การสร้างแผนการกำกับดูแลที่คัดกรองการปกป้องสื่อของการชุมนุมทางไซเบอร์เหล่านี้ไม่ใช่แนวทางปฏิบัติที่ยอดเยี่ยมอย่างแน่นอน
หากการรายงานข่าวของสื่อในขณะที่เข้าสู่การบริหารช่องโหว่นั้นเป็นแนวคิดที่ไม่ดี และ NVD ก็ค่อยเป็นค่อยไปในการนำเสนอข้อเท็จจริงทั้งหมด นโยบายการกำกับดูแลที่มีประสิทธิภาพที่สุดคืออะไร ที่จะมาจากรูปแบบของเครื่องมือรักษาความปลอดภัยที่เรียกว่า “Software Composition Analysis” หรือ SCA ดูเหมือนว่าซอฟต์แวร์ SCA จะอยู่ที่ซอร์สโค้ดสำหรับแอปพลิเคชัน หรือไฟล์เรียกทำงานหรือไลบรารีที่กำหนดแอปพลิเคชัน และพยายามค้นหาว่าไลบรารีโอเพนซอร์สใดที่ใช้ในการสร้างซอฟต์แวร์นั้น
รายชื่อของห้องสมุดบุคคลเหล่านี้เรียกว่า SBOM หรือ Bill of Materials ซอฟต์แวร์คอมพิวเตอร์ สมมติว่าแอปพลิเคชัน SCA ทำงานได้อย่างมีประสิทธิภาพ นโยบายการกำกับดูแลก็สามารถทำได้ที่แมปรายละเอียด NVD กับ SBOM เพื่อให้คุณรู้ว่าต้องแก้ไขอะไร... ยกเว้นว่ายังมีข้อเท็จจริง NVD ที่แฝงอยู่ที่ต้องนำมาพิจารณา
เครื่องมือ SCA ที่เหนือชั้นกว่านั้นบางตัวช่วยขจัดความท้าทายนั้นด้วยการสร้างคำแนะนำที่แจ้งเตือนลูกค้าในเชิงรุกเมื่อมีรายการ NVD ที่รอดำเนินการ แต่ผู้ขาย SCA ได้เพิ่มรายละเอียดของรายการ NVD นั้น อุปกรณ์ล้ำสมัยที่สุดบางส่วนยังใช้ในการคัดกรองหรือตรวจสอบความถูกต้องของซอฟต์แวร์คอมพิวเตอร์ที่ได้รับผลกระทบจากการเปิดเผยข้อมูลช่องโหว่

อย่างไรก็ตาม แม้ว่าโปรแกรมซอฟต์แวร์ SCA สามารถปิดช่องโหว่ระหว่างการเปิดเผยและการระบุตัวตนได้ แต่ก็ต้องสังเกตว่ามีข้อจำกัดพื้นฐาน หากโปรแกรม SCA ไม่ได้สแกนโปรแกรมทั้งหมดของคุณ อย่างดีที่สุดก็สามารถตั้งค่าสถานะการเปิดเผยช่องโหว่ใหม่สำหรับชุดย่อยของโปรแกรมของคุณเท่านั้น
จากจุดยืนของความครอบคลุมในการกำกับดูแล ฝ่ายไอทีจะได้รับการดำเนินการเพื่อสร้างโปรแกรมซอฟต์แวร์ทั้งหมดและฟังก์ชันการจัดซื้อเพื่อให้แน่ใจว่าแอปพลิเคชันทั้งหมด เช่น การอัปเดตและการดาวน์โหลดโดยไม่เสียค่าใช้จ่าย ทั้งสองจะปรากฏใต้ SBOM และ SBOM ได้รับการตรวจสอบแล้ว โปรแกรมซอฟต์แวร์ SCA เนื่องจากโปรแกรมมีทั้งรูปแบบต้นทางและไบนารี จึงเป็นสิ่งสำคัญที่ทีมธรรมาภิบาลที่มุ่งหน้าไปตามเส้นทางนี้จึงเลือกโปรแกรมซอฟต์แวร์ SCA ที่สามารถดำเนินการซอฟต์แวร์คอมพิวเตอร์ได้อย่างมีประสิทธิภาพในทุกรูปแบบและทุกรูปแบบ แผนการกำกับดูแลประเภทนี้จะช่วยระบุการเปิดเผยช่องโหว่ใหม่และผลกระทบต่อองค์กรธุรกิจ แต่จะแยกความแตกต่างของการบรรเทาผลกระทบที่มีประสิทธิผลไปสู่นโยบายเฉพาะ เนื่องจากการบรรเทาดังกล่าวจะต้องมีการทดสอบซอฟต์แวร์
การรักษาความปลอดภัยให้กับวิศวกรรมของตัวเองเป็นเพียงจุดเดียว แต่ความสง่างามของโอเพนซอร์สก็คือการออกแบบให้ทำงานร่วมกันได้
ในการถอดความของอับราฮัม ลินคอล์น การเปิดแหล่งข้อมูลคือความรู้ของประชาชน โดยปัจเจก และสำหรับปัจเจก การเคลื่อนไหวของโอเพ่นซอร์สที่ทันสมัยนั้นเริ่มต้นขึ้นบนหลักการพื้นฐานที่ว่า หากคุณไม่ชอบวิธีการทำงานของโค้ด คุณก็จะมีอิสระที่จะแก้ไขและจัดการได้ ไม่ว่าช่องว่างในฟังก์ชันการทำงานใดจะจบลงด้วยการรับรู้ว่ามีอยู่จริง
องค์ประกอบของความยากลำบากที่เราเผชิญอยู่ทุกวันนี้คือความรู้สึกที่มีผู้บริโภคหรือผู้ใช้ปลายทางของโครงการโอเพนซอร์สมีพฤติกรรมราวกับว่าความท้าทายของโอเพ่นซอร์สคือผู้ขายแอปพลิเคชันทางธุรกิจ
หากคุณปรากฏตัวในรายการความท้าทายของการดำเนินการเปิดทรัพยากรที่เป็นที่รู้จักอย่างสมเหตุสมผลบน GitHub คุณจะเห็นคำขอฟังก์ชันและการตรวจสอบเกี่ยวกับเวลาที่ปัญหาที่เลือกอาจได้รับการแก้ไข เรื่องราวและความคับข้องใจเกี่ยวกับปัญหาดังกล่าวเกี่ยวกับความสามารถในการให้บริการมีความคาดหวังโดยปริยายว่าผู้จัดการผลิตภัณฑ์กำลังดำเนินการตามคำขอของบุคคลเหล่านั้น และพวกเขาจะถูกเพิ่มลงในแผนงานและเปิดตัวในบางครั้ง ทั้งหมดนี้ไม่มีค่าใช้จ่าย
อันที่จริง ช่องว่างในการทำงานและแม้แต่ในข้อบกพร่องที่รับรู้ แสดงถึงโอกาสที่จะไม่ขอบริการจากผู้เชี่ยวชาญการเขียนโปรแกรมฟรี แต่เป็นทางเลือกที่จะช่วยให้โค้ดประสบความสำเร็จในระยะยาวซึ่งมีความสำคัญอย่างมากต่อบุคคลที่ร้องเรียน
แน่นอนว่าบางคนจะไม่รู้จักภาษาโปรแกรมที่ใช้ในโครงการ แต่การคาดหวังให้บุคคลอื่นจัดลำดับความสำคัญของการร้องเรียนจากบุคคลที่ 3 ที่ไม่รู้จักมากกว่ารูปแบบต่างๆ ที่ขจัดความยุ่งยากสำหรับผู้มีส่วนร่วมที่กระตือรือร้นนั้นไม่ใช่รูปลักษณ์ที่แท้จริง คุณสมบัติโอเพ่นซอร์สมีความสำคัญพอๆ กับสิ่งใดๆ เลยผ่านความเห็นแก่ประโยชน์จากผู้มีส่วนร่วม
เหนือความทันสมัยมาเป็นเวลานาน เราได้ฟังผู้ให้การสนับสนุนหลักสำหรับงานทรัพยากรแบบเปิดที่รู้จักกันดีซึ่งสร้างความรำคาญใจเฉพาะเกี่ยวกับรายได้จากองค์กรขนาดใหญ่จากการใช้แพ็คเกจซอฟต์แวร์ของตน แม้ว่ามันจะง่ายที่จะเกี่ยวข้องกับใครบางคนที่วางอำนาจไว้ในงานเพียงเพื่อให้หนึ่งในสามได้รับรายได้จากความพยายาม แต่ความจริงก็คือถ้าการทุบตีครั้งที่สามนั้นได้กำไรจากความพยายามของพนักงานพัฒนาทรัพยากรแบบเปิด พวกเขาควรจะ มีส่วนทำให้เกิดความสำเร็จในระยะยาว
หากไม่เป็นเช่นนั้น พวกเขาจะดำเนินการอันตรายที่ไม่เพียงแต่โค้ดที่เป็นปัญหาเท่านั้นที่อาจเปลี่ยนรูปแบบในวิธีที่พวกเขาไม่ไว้ใจได้ แต่ยังรวมถึงเมื่อระบุและจัดการข้อกังวลด้านการป้องกันแล้ว พวกเขาอาจมีความล่าช้าในการแก้ไขบุคคล อย่างไรก็ตาม หากธุรกิจขนาดเล็กไม่ใช้เวลาในการโต้ตอบกับทีมที่ผลิตซอฟต์แวร์คอมพิวเตอร์ที่ขับเคลื่อนองค์กรธุรกิจของตน ก็เป็นไปได้ที่พวกเขาไม่รู้ว่าโปรแกรมทั้งหมดที่ขับเคลื่อนองค์กรธุรกิจของตนมีต้นกำเนิดมาจากที่ใดและไม่สามารถแก้ไขได้อย่างน่าเชื่อถือ มัน.
การค้นพบช่องโหว่ในแหล่งจ่ายที่เปิดกว้างไม่ใช่ปัญหา แต่การตรวจจับข้อบกพร่องของโปรแกรมที่แสดงถึงจุดอ่อนที่สามารถใช้ประโยชน์ได้นั้นเป็นประเด็นสำคัญ แม้ว่าแพ็คเกจซอฟต์แวร์โอเพ่นซอร์สและแบบปิดจะมีศักยภาพเท่ากันสำหรับปัญหาด้านความเสถียร แต่ด้วยทรัพยากรแบบเปิดที่ทุกคนสามารถทำได้เพื่อระบุปัญหาเหล่านั้นทั้งหมด ด้วยเหตุนี้ องค์กรจึงต้องได้รับมาตรการเชิงรุก ที่ไม่ขึ้นอยู่กับการปกป้องสื่อ เพื่อดูช่องโหว่ที่เป็นปัจจุบันที่สุด
มีความสำคัญเท่าเทียมกัน พวกเขาควรดำเนินการตามวัตถุประสงค์ที่เอื้อต่อการมอบหมาย open supply ที่พวกเขาให้รางวัล มิฉะนั้นพวกเขาอาจทำให้ผู้ประสบภัยจากรูปแบบโค้ดที่ไม่คาดคิดหรือการรับรู้ถึงแพตช์ที่สำคัญล่าช้า
Tim Mackey เป็นหัวหน้านักยุทธศาสตร์การป้องกัน ที่ Synopsys