75% ของแอปพลิเคชันเชิงพาณิชย์มีโค้ดโอเพ่นซอร์สที่ล้าสมัยและมีช่องโหว่

บริษัท ซินโนซิส วิเคราะห์ ฐานรหัสเชิงพาณิชย์ 1253 รายการ และสรุปได้ว่าแอปพลิเคชันเชิงพาณิชย์เกือบทั้งหมด (99%) ที่ได้รับการตรวจสอบมีองค์ประกอบโอเพ่นซอร์สอย่างน้อยหนึ่งองค์ประกอบ และ 70% ของรหัสในคลังเก็บข้อมูลที่ได้รับการตรวจสอบเป็นโอเพ่นซอร์ส เพื่อการเปรียบเทียบ ในการศึกษาที่คล้ายกันในปี 2015 ส่วนแบ่งของโอเพ่นซอร์สอยู่ที่ 36%

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

ช่องโหว่ที่เป็นอันตรายที่พบบ่อยที่สุดคือ
ปัญหา CVE-2018-16487 (การเรียกใช้โค้ดจากระยะไกล) ในไลบรารี โลดัช สำหรับ Node.js พบเวอร์ชันที่มีช่องโหว่มากกว่า 500 ครั้ง ช่องโหว่ที่ไม่ได้รับแพตช์ที่เก่าแก่ที่สุดคือปัญหาใน lpd daemon (CVE-1999-0061) แก้ไขเมื่อปี พ.ศ. 1999

นอกเหนือจากการรักษาความปลอดภัยในฐานรหัสของโครงการเชิงพาณิชย์แล้ว ยังมีทัศนคติที่ประมาทเลินเล่อต่อการปฏิบัติตามเงื่อนไขของใบอนุญาตฟรีอีกด้วย
ในโค้ดเบส 73% พบปัญหาเกี่ยวกับความถูกต้องตามกฎหมายของการใช้โอเพ่นซอร์ส เช่น ใบอนุญาตที่เข้ากันไม่ได้ (โดยปกติแล้วรหัส GPL จะรวมอยู่ในผลิตภัณฑ์เชิงพาณิชย์โดยไม่ต้องเปิดผลิตภัณฑ์ลอกเลียนแบบ) หรือการใช้รหัสโดยไม่ระบุใบอนุญาต 93% ของปัญหาใบอนุญาตทั้งหมดเกิดขึ้นในเว็บและแอปพลิเคชันมือถือ ในเกม ระบบความเป็นจริงเสมือน โปรแกรมมัลติมีเดียและความบันเทิง พบการละเมิดใน 59% ของกรณีทั้งหมด

โดยรวมแล้ว การศึกษาระบุส่วนประกอบแบบเปิดทั่วไป 124 รายการที่ใช้กันทั่วไปในโค้ดฐานทั้งหมด สิ่งที่ได้รับความนิยมมากที่สุด ได้แก่ jQuery (55%), Bootstrap (40%), Font Awesome (31%), Lodash (30%) และ jQuery UI (29%) ในแง่ของภาษาโปรแกรม ที่นิยมมากที่สุดคือ JavaScript (ใช้ใน 74% ของโครงการ), C++ (57%), Shell (54%), C (50%), Python (46%), Java (40%), พิมพ์สคริปต์ (36% ), C# (36%); Perl (30%) และ Ruby (25%) ส่วนแบ่งภาษาโปรแกรมทั้งหมดคือ:
จาวาสคริปต์ (51%), C++ (10%), Java (7%), Python (7%), Ruby (5%), Go (4%), C (4%), PHP (4%), TypeScript ( 4%), C# (3%), Perl (2%) และเชลล์ (1%)

ที่มา: opennet.ru

เพิ่มความคิดเห็น