Tại sao phần mềm diệt virus không nên có mã nguồn mở?
Bằng cách chia sẻ code một cách công khai, nhiều nhà phát triển có thể cùng nhau xem xét và cải tiến các chương trình; Cách tiếp cận này đã dẫn đến những đổi mới đáng chú ý. Tuy nhiên, khi nói đến phần mềm diệt virus, phương pháp này dường như không phải là một ý kiến hay.
Có một số lý do khiến các chương trình diệt virus không cần phải là mã nguồn mở.
1. Các công cụ diệt virus được cộng đồng sử dụng không cập nhật đủ nhanh
Các chương trình diệt virus yêu cầu cập nhật liên tục. Việc duy trì tốc độ cảnh giác và phản ứng không ngừng này thông qua một dự án nguồn mở sẽ gặp phải một số trở ngại.
Các chương trình diệt virus mã nguồn mở thường dựa vào cơ sở dữ liệu signature (tập hợp các đặc điểm của virus) được cộng đồng đóng góp một cách tự nguyện. Kết quả là chúng có xu hướng tụt hậu so với các lựa chọn thay thế trả phí trong việc triển khai các bản cập nhật signature và định nghĩa virus. Để phần mềm diệt virus thực sự hiệu quả, những bản sửa lỗi phải được triển khai và các bản cập nhật được triển khai chỉ trong vòng vài ngày trước khi virus lây lan rộng rãi. Việc mong đợi một cộng đồng tình nguyện cung cấp các bản sửa lỗi và cập nhật thường xuyên và nhanh chóng là một điều khó khăn.
Ngoài ra, việc phát triển nguồn mở còn phụ thuộc vào sự đóng góp không lương của các chuyên gia và kỹ sư bảo mật. Thực tế, những chuyên gia này thường yêu cầu mức lương cao trong công việc, đơn giản vì thu nhập này là thứ cần thiết để họ duy trì cuộc sống. Khi nhu cầu liên tục theo dõi những mối đe dọa phần mềm độc hại và cập nhật đầy đủ các định nghĩa được đặt lên bàn cân với trách nhiệm từ công việc được trả lương, dĩ nhiên công việc giúp họ duy trì cuộc sống sẽ được ưu tiên hơn công việc tình nguyện.
Nếu những nỗ lực không ngừng của các tình nguyện viên được duy trì, ai sẽ đứng ra thanh toán hóa đơn khổng lồ cho việc thu thập thông tin tình báo, cập nhật signature thường xuyên và các phương pháp phát triển? Nếu không có hỗ trợ kinh tế lâu dài dành riêng cho nhiệm vụ này, việc đáp ứng các yêu cầu bảo vệ quan trọng thông qua một mô hình mở dường như không đáng tin cậy.
2. Nhược điểm của việc công khai code phần mềm diệt virus lớn hơn ưu điểm
Ưu điểm thường được nhắc đến của phần mềm nguồn mở là cho phép mọi người xem xét và sửa đổi code. Tuy nhiên, tính minh bạch này đặt ra những thách thức đặc biệt trong bối cảnh phần mềm diệt virus.
Bằng cách hiển thị các cơ chế phát hiện và loại bỏ cốt lõi trong mã nguồn, các tác nhân độc hại có thể xem xét tường tận những biện pháp phòng vệ này. Giống như tất cả các phần mềm, các lỗ hổng vốn đã tồn tại – dù mã nguồn được mở hay đóng. Tuy nhiên, quyền truy cập công khai vào mã nguồn có nghĩa là tội phạm mạng có thể có cái nhìn sâu sắc hơn về các điểm yếu trước khi chúng được vá.
Mặc dù mã nguồn mở không tạo ra nhiều lỗ hổng hơn nhưng nó thay đổi động lực bảo mật theo cách có thể cản trở hiệu quả diệt virus. Nếu lỗi được biết đến rộng rãi thông qua đánh giá của công chúng, những kẻ xấu có thể nhanh chóng vượt qua các biện pháp bảo vệ. Ngay cả sau khi có bản sửa lỗi, chúng có thể đã chuẩn bị sẵn các giải pháp thay thế.
Ngoài ra, một nghiên cứu của Đại học Cornell năm 2022 cho thấy các dự án nguồn mở đôi khi phải mất gần ba tuần sau khi được tiết lộ để phát hành các bản vá – có nhiều cơ hội để triển khai những cuộc tấn công trong khoảng thời gian đó. Ngoài ra, sự đóng góp từ các cộng đồng tình nguyện sẽ suy giảm một cách khó lường theo thời gian, có thể dẫn đến những rủi ro, lỗ hổng hoặc mối đe dọa không thể giải quyết được. Đối với nhu cầu diệt virus đòi hỏi phải luôn cảnh giác, việc công khai mã nguồn có thể không bù đắp được những rủi ro trong lĩnh vực nhạy cảm về thời gian này.
3. Khó duy trì code chất lượng cao trong một dự án hướng tới cộng đồng
Duy trì các tiêu chuẩn tối ưu cho hàng triệu dòng code là một nhiệm vụ to lớn, ngay cả đối với những nhóm nhà phát triển được trả phí. Trong môi trường nguồn mở, nơi sự đóng góp đến từ các tình nguyện viên với những khả năng và ưu tiên khác nhau, việc đảm bảo sự xuất sắc và tuân thủ các phương pháp hay nhất trên toàn diện là một thách thức thực sự.
Các yếu tố bổ sung, như cách những lỗ hổng được tìm thấy và vá kịp thời, sẽ định hình chất lượng code của chương trình theo thời gian. Tương tự như vậy, các thuật toán và kỹ thuật phải phát triển liên tục để chống lại những chiến thuật phần mềm độc hại ngày càng tiến bộ. Việc duy trì chu kỳ phát triển nhanh chóng này trong một mô hình nguồn mở là khá khó khăn.