Bên cạnh mã độc, email spam hay tấn công DDos, lỗ hổng tồn tại trong các phần mềm nguồn mở cũng được đánh giá là một trong những mối đe dọa bảo mật đáng lưu tâm nhất ở thời điểm hiện tại.
Theo nghiên cứu của tổ chức an ninh mạng WhiteSource, số lượng lỗ hổng phần mềm nguồn mở được ghi nhận trong năm 2019 đã tăng tới 50% so với năm 2018, từ hơn 4.000 lên tới hơn 6000. Tuy nhiên đó mới chỉ là “phần nổi của tảng băng chìm” bởi theo các chuyên gia, vẫn còn rất nhiều lỗ hổng tồn tại trong các hệ thống nguồn mở khác đang âm thầm gây thiệt hại nhưng chưa được phát hiện hoặc báo cáo.
Tuy nhiên thực trạng này không khiến nhiều người ngạc nhiên, thậm chí đã được dự báo từ trước do sự phát triển rộng rãi, ồ ạt và phần nào đó hơi “mất kiểm soát” của cộng đồng nguồn mở trong vài năm qua, cùng với đó là sự chú ý của truyền thông hướng đến các vụ vi phạm dữ liệu gần đây.
WhiteSource đã tiến hành khảo sát hơn 650 nhà phát triển, thu thập dữ liệu từ hệ thống National Vulnerability Database (NVD) Hoa Kỳ, các quy trình tư vấn bảo mật, cơ sở dữ liệu lỗ hổng cũng như nhiều nguồn dữ liệu khác và đã phát hiện ra rằng:
- Hơn 85% các lỗ hổng bảo mật nguồn mở được tiết lộ với một bản sửa lỗi đã có sẵn.
- Chỉ 84% các lỗ hổng nguồn mở đã ghi nhận được lưu trữ trong cơ sở dữ liệu của NVD, một vài trong số đó được tiết lộ ở nơi khác, sau vài tháng.
- Ngôn ngữ lập trình C vẫn có tỷ lệ lỗ hổng cao nhất (30%) do khối lượng code được viết bằng ngôn ngữ này là khá lớn. Theo sau là PHP (27%) và Java (15%).
Đang chú ý, mức độ phổ biến ngày càng tăng của Python gần như tỉ lệ thuận với số lượng hổng có liên quan đến các phần mềm nguồn mở viết bằng loại ngôn ngữ này. Mặc dù công bằng mà nói, lỗ hổng là kết quả chung của các hoạt động mã hóa kém an toàn và nhiều yếu tố khác.
Các điểm yếu bảo mật phổ biến (CWEs) trong năm 2019 bao gồm cross-site scripting (XSS) xếp thứ nhất, theo sau là các lỗ hổng xác thực đầu vào sai (input validation vulnerabilities) và lỗi bộ đệm (buffer errors) xếp thứ ba, cụ thể như sau:
Nhìn chung, danh sách top 5 các lỗ hổng phổ biến nhất của năm 2019 không có nhiều khác biệt so với năm 2018. Trong năm 2018, lỗi bộ đệm đứng thứ hai trong danh sách và lỗi xác thực đầu vào sai thứ ba, trong khi các vị trí còn lại không có gì thay đổi.
Theo đánh giá của các chuyên gia bảo mật, hầu hết các lỗ hổng này đều bắt nguồn từ những sai sót tương đối đơn giản trong codebase cũng như sự cố lập trình không chính xác - những yếu tố hoàn toàn có thể tránh được bằng cách tuân thủ các tiêu chuẩn mã hóa khá cơ bản.