การทดสอบความปลอดภัยแบบเปิดและแบบปิด – แบบใดที่เหมาะกับคุณ

เผยแพร่แล้ว: 2022-05-01

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

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

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

ในโพสต์นี้ เราจะพิจารณาตัวเลือกเหล่านี้อย่างละเอียดถี่ถ้วน และเหตุใดคุณจึงควรพิจารณาตัวเลือกเหล่านี้

อธิบายการทดสอบความปลอดภัยแบบเปิดและแบบปิด

เครื่องมือรักษาความปลอดภัยซอฟต์แวร์โอเพ่นซอร์ส

โอเพ่นซอร์สหมายถึงซอฟต์แวร์ที่ไม่มีกรรมสิทธิ์ซึ่งทุกคนสามารถใช้รหัสได้ แก้ไข (โดยเพิ่มหรือลบ) และแจกจ่ายฟรี

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

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

ดังที่ Snyk ชี้ให้เห็น ประเด็นหลักของแนวทางการสแกนช่องโหว่แบบโอเพนซอร์สคือการสนับสนุนให้ชุมชนโปรแกรมเมอร์และวิศวกรร่วมมือกันและพัฒนาเทคโนโลยีใหม่ๆ เพื่อแก้ปัญหาในมือ

ตัวอย่างของเครื่องมือทดสอบความปลอดภัยโอเพ่นซอร์ส ได้แก่ Snyk, Kali Linux และ OSSEC

เครื่องมือรักษาความปลอดภัยซอฟต์แวร์ที่มาปิด

ซอฟต์แวร์ที่มาปิดเรียกอีกอย่างว่าซอฟต์แวร์ที่เป็นกรรมสิทธิ์ ตรงกันข้ามกับแนวทางของ OSS ตรงที่ผู้เขียน (หรือองค์กร) ล็อกและเข้ารหัสซอร์สโค้ดอย่างปลอดภัยซึ่งปฏิเสธไม่ให้ทุกคนเข้าถึงได้

กล่าวคือนักพัฒนาและโปรแกรมเมอร์คนอื่นๆ ไม่สามารถอ่าน แก้ไข คัดลอก และแจกจ่ายซอฟต์แวร์ได้ตามต้องการ

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

การอภิปรายครั้งใหญ่: ความปลอดภัยของซอฟต์แวร์แบบเปิดและแบบปิด

เมื่อเทียบกับการเปรียบเทียบระหว่างสองวิธีนี้ การรักษาความปลอดภัยได้รับความสนใจมากที่สุด ผู้เสนอซอฟต์แวร์โอเพ่นซอร์สให้เหตุผลว่าแฮกเกอร์ไม่สามารถจัดการคอร์ได้ตามต้องการเพราะถูกล็อคในที่สาธารณะ

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

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

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

ช่องโหว่ซีโร่เดย์

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

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

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

หลังจากพบข้อบกพร่อง แฮ็กเกอร์จะดำเนินการอย่างรวดเร็วเพื่อแทรกซึมซอฟต์แวร์และเปิดการโจมตีซีโร่เดย์ รหัสการหาช่องโหว่แบบ zero-day (รหัสที่เขียนขึ้นเพื่อใช้ประโยชน์จากช่องโหว่ที่ยังไม่ได้ค้นพบ) นอกจากนี้ยังสามารถขายได้อย่างกว้างขวางในเว็บมืด และเพิ่มการโจมตีอีกด้วย

ทั้งผลิตภัณฑ์โอเพ่นซอร์สและโอเพ่นซอร์สมีแนวโน้มที่จะเกิดช่องโหว่และการโจมตีแบบซีโร่เดย์ แต่เมื่อมันลงมาแล้ว ระบบโอเพนซอร์สมีความเสี่ยงต่อความเสี่ยงนี้มากกว่าแอปพลิเคชันโอเพนซอร์ซ

การโจมตีซีโร่เดย์บนซอฟต์แวร์ที่เป็นกรรมสิทธิ์ที่ใช้กันอย่างแพร่หลาย เช่น Microsoft Windows, iOS, Java, Adobe Flash และ Skype สิ่งเหล่านี้ถือว่ามี ROI ที่สูงกว่ามาก ด้วยองค์ประกอบโอเพ่นซอร์ส ช่องโหว่ซีโร่เดย์ไม่ใช่ภัยคุกคามหลักส่วนหนึ่ง เพราะหลายตาที่อยู่บนรหัส

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

ด้วยเหตุผลดังกล่าว นักพัฒนาซอฟต์แวร์สมัยใหม่จึงเห็นพ้องต้องกันว่าความเร็วในการแก้ไขช่องโหว่ใน OSS มันหาที่เปรียบไม่ได้ในโลกของซอฟต์แวร์ที่เป็นกรรมสิทธิ์

แต่โปรดจำไว้ว่าทฤษฎี "หลายตา" ในแนวทางซอฟต์แวร์โอเพนซอร์ซเป็นเพียงการคาดเดาเท่านั้น การดูแลรักษาโปรแกรมซอฟต์แวร์ไม่เพียงต้องการทรัพยากรเท่านั้น แต่ยังต้องใช้เวลาอีกด้วย แม้จะเปิดเผย แต่ก็ไม่รับประกันว่าทีมอาสาสมัครจะมีกำลังทางการเงินที่จำเป็นในการอัปเดตโค้ดอยู่เสมอ หากมีสิ่งใด ผู้ดูแลเป็นเพียงอาสาสมัครที่ไม่มีภาระผูกพันที่จะต้องดูและจัดการกับข้อบกพร่องในโค้ด

ซอฟต์แวร์ทดสอบความปลอดภัยโอเพ่นซอร์สหรือโอเพ่นซอร์ส - ทางไหน?

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

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

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