Có rất nhiều thông tin hiểu sai về tính bảo mật của mã nguồn mở, liệu mã nguồn mở có an toàn không? chất lượng không? cùng chúng tôi tìm hiểu qua bài viết này.
Mã nguồn mở là gì?
Mã nguồn mở (Open-source) là phần mã nguồn (source-code) được cung cấp miễn phí và có thể được phân phối lại và sửa đổi mà qua đó các lập trình viên máy tính có thể thao tác để thay đổi một phần để tạo ra một chương trình hoặc một ứng dụng nào đó. Các lập trình viên có quyền truy cập vào mã nguồn và cải thiện mã nguồn (hoặc các chương trình, ứng dụng dựa trên mã nguồn đó) bằng cách thêm các tính năng hoặc sửa, xóa các phần không mong muốn.
Các mã nguồn mở phổ biến
Mã nguồn mở rất phổ biến và xuất hiện rất rộng rãi từ website, phần mềm cho đến ứng dụng & các hệ điều hành. Chứng minh mã nguồn mở không phải không-an-toàn như bạn nghĩ.
1/WordPress
WordPress là nền tảng viết blog phổ biến nhất thế giới, được sử dụng bởi 202 triệu trang web từ đơn giản đến phức tạp, WordPress hỗ trợ bởi rất nhiều các plugin và theme giúp bạn có thể biến đổi website cho nhiều mục đích khác nhau như website hiển thị thông tin, shop/store bán hàng, khách sạn, website liệt kê (listing/directory) v.v… WordPress có một hệ thống quản lý nội dung (CMS) đơn giản & mạnh mẽ giúp bạn dễ dàng quản lý website của mình trên mọi phương diện.
Do là mã nguồn mở, WordPress đã được sử dụng rộng rãi và chiếm 30% trên tổng số các nền tảng website. Với rất nhiều sự đóng góp của cộng đồng, WordPress trở nên an toàn hơn bao giờ hết, các bản vá được tung ra liên tục từ các nhà phát triển khắp nơi trên Thế Giới.
WordPress bị hack là do đâu? sự thật là các website bị tấn công và hack là do không cập nhật phiên bản mới nhất (hoàn toàn miễn phí, WordPress luôn nhắc nhở về việc cập nhật này) và do các plugin/theme không bản quyền, hoặc do lỗi của con người như mật khẩu đơn giản chẳng hạn.
Các website lớn sử dụng WordPress:
- TechCrunch
- The NewYorker
- BBCAmerica
- BloomBerg Professional
- Sony Music
- MTV News
- Microsoft News Center
- Walt Disney
- Facebook News Room
2/ Trình duyệt Mozilla Firefox
3/ Linux
4/ Ubuntu (một distro của linux)
5/ Phần mềm nén-giải nén 7-zip
6/Hệ điều hành Android
Các nhận định sai về mã nguồn mở
1/Ai cũng có thể đọc mã nguồn và từ dễ tấn công hơn
Mặc dù về nguyên tắc, mã nguồn mở có thể được đọc và bị xâm phạm, trong thực tế, tình hình phức tạp hơn nhiều.
Đầu tiên, theo ý kiến chuyên gia, đối với các hacker/cracker có kinh nghiệm, họ không cần phải đào sâu vào hàng ngàn dòng mã (code) để tìm ra một lỗ hổng. Vậy tại sao mọi người tuyên bố rằng mã nguồn mở là không an toàn?
Trong thực tế, bất kỳ loại mã nào (nguồn đóng hoặc nguồn mở) đều mang đến các mối đe dọa bảo mật cho sản phẩm. An toàn hay không là do các nhà phát triển của mã nguồn đó, các lý do dẫn đến một mã nguồn không an toàn bao gồm:
- không tuân theo các nguyên tắc bảo mật
- cài đặt phần mềm không đúng cách
- sử dụng mật khẩu đơn giản
- thiếu các quy trình xác nhận dữ liệu
- thiếu kỹ thuật mã hóa dữ liệu
Lý do thứ hai, là trong thực tế bất kỳ ai cũng có thể đọc mã và làm tăng cơ hội tìm và sửa lỗi của mã nguồn mở. Như một quy luật, các cộng đồng sôi động liên tục hỗ trợ các mã nguồn mở và kiểm tra các lỗ hổng. Ngoài ra, các nhà phát triển quan tâm đến danh tiếng của họ và muốn thể hiện mã nguồn được viết bằng cách tuân thủ các thực tiễn tốt nhất và luôn cố gắng tìm và sửa các lỗ hổng bảo mật tiềm ẩn.
2/ Không lợi nhuận, nhà phát triển sẽ không có động lực phát triển mã nguồn mở và làm chúng kém an toàn
Trên thực tế, nhiều sản phẩm nguồn mở thành công đã tạo ra lợi nhuận cho các nhóm phát triển. Chẳng hạn, Mozilla có được một phần doanh thu đáng kể từ trình duyệt Firefox. Hầu hết các dự án tầm cỡ này đều có các nhóm phản ứng bảo mật riêng dành cho việc vá các lỗ hổng.
Trong trường hợp sản phẩm mã nguồn mở không sinh lãi, khi tìm thấy lỗ hổng, nhóm dự án nguồn mở thường sẽ khắc phục ngay lập tức (vì danh tiếng của họ bị đe dọa) hoặc tiết lộ vấn đề công khai để tất cả những người thực hiện/tham gia mã nguồn mở có thể thực hiện các biện pháp thích hợp – ví dụ: tắt chức năng dễ bị tổn thương hoặc cài đặt phần cứng và phần mềm khác để tránh sử dụng chức năng bị ảnh hưởng cho đến khi nó được sửa.
Liên quan đến động lực phát triển phần mềm nguồn mở, mỗi nhà phát triển cá nhân trong cộng đồng mã nguồn mở được thúc đẩy để cung cấp một sản phẩm chất lượng cao, không có sai sót lớn để chứng minh năng lực của chính những người tham gia vào cộng đồng này. Mặt khác, các doanh nghiệp thường bị giới hạn theo nhiều cách (tiền bạc, thời gian, mục tiêu kinh doanh, v.v.), và do đó nhiều doanh nghiệp đã lơ là trong vấn đề đầu tư cho bảo mật các sản phẩm mà họ đang sử dụng. Bởi vì các nhà phát triển mã nguồn mở luôn được các cá nhân từ cộng đồng tích cực tham gia phát triển và do vậy các sản phẩm luôn được phát triển một cách toàn vẹn qua các bản công bố công khai.
3/ Phần mềm độc quyền (mã nguồn đóng) vốn đã an toàn hơn phần mềm nguồn mở
Nhận định này xuất phát từ nhiều định kiến. Các phần mềm mã nguồn đóng sẽ kèm theo một giấy phép thương mại nghiêm cấm về việc khai thác mã nguồn. Nhưng một giấy phép thương mại không đảm bảo tính an toàn bảo mật. Không giống như phần mềm mã nguồn đóng, các dự án mã nguồn mở minh bạch về các lỗ hổng tiềm năng. Với phần mềm trả phí, niềm tin của bạn đặt vào nhà cung cấp. Với mã nguồn mở, bạn cũng có thể tham gia đánh giá mã nguồn đó và sau đó gắn bó với phiên bản trước, phát hành bản vá của riêng bạn hoặc thậm chí vô hiệu hóa chức năng nhất định nếu cảm thấy cần thiết.
Ở đầu bài viết này, chúng tôi đã đề cập đến lợi ích của số lượng lớn người làm việc trong các dự án nguồn mở: họ có khả năng tìm và sửa lỗi nhanh hơn. Ngược lại, các nhóm phần mềm độc quyền thường bao gồm ít người hơn và don luôn luôn bao gồm các chuyên gia cần thiết, chẳng hạn như các kỹ sư QA, người giúp loại bỏ các lỗ hổng.
Vậy mã nguồn mở có thực sự an toàn hơn mã nguồn đóng?
Bạn cần xem xét tính bảo mật và uy tín của từng phần mềm trên cơ sở cá nhân.
Để điều tra tính bảo mật của sản phẩm, bạn luôn có thể xem lại lịch sử phiên bản của sản phẩm và xem xét các vấn đề bảo mật trước đó. Hoặc có thể hỏi các đại lý phân phối các sản phẩm để được tư vấn về tính bảo mật của phần mềm/chương trình của nhà sản xuất phần mềm đó.
Ngoài ra, bạn có thể xem xét xem các mã nguồn mở này có được sử dụng bởi các công ty, doanh nghiệp lớn chưa? Chẳng hạn, như WordPress được sử dụng rộng rãi bởi các công ty lớn và điều này cho thấy mã nguồn mở này đủ đáng tin cậy.
Các tập đoàn công nghệ lớn cũng dần chuyển hướng sang các dự án mã nguồn mở như Google với google open source, Facebook với Facebook Open Source, IBM mua lại Redhat, Microsoft mua lại Github v.v..
Kết luận
Mã nguồn mở không kém an toàn như bạn nghĩ, mà ngược lại với sự đóng góp của cộng đồng, mã nguồn mở được đông đảo người dùng tin tưởng và sử dụng từ cá nhân đến các tập đoàn lớn. Cả mã nguồn mở và mã nguồn đóng đều tìm ẩn các nguy cơ của riêng mình. Vấn đề là nằm ở bạn hiểu và dùng các sản phẩm như thế nào để đảm bảo tính bảo mật nhất.
Tạ Trung Tín – Tổng hợp
0 Comments