Bạn nào làm web chắc cũng không ít lần sử dụng các source code do người khác chia sẻ hoặc mã nguồn mở (open source) đúng không :D. Tuy rằng những người chia sẻ rất tốt bụng và có tính cộng đồng nhưng không phải ai cũng như vậy. Cho nên đôi lúc cũng cần đề phòng để tránh đưa mình vào bẫy của những kẻ xấu bụng.
Phụ mục
Bài học của sự cả tin
N. – bạn của mình là một nạn nhân của kiểu chia sẻ này. Anh ta cần một mã nguồn để làm trang rao vặt và dễ dàng download được chúng từ một đường link được chia sẻ trên website Freec… – cũng là một website khá nổi tiếng về việc chia sẻ mã nguồn được nhiều webmaster tin tưởng ở VN.
Vốn dĩ nghe nhiều bài học về việc sử dụng các mã nguồn có nguồn gốc không rõ ràng thường kèm theo các chương trình gây hại. Anh cẩn thận quét toàn bộ thư mục này bằng các chương trình diệt virus mạnh nhất và update mới nhất sau đó mới yên tâm upload nó lên để xây dựng website của mình. Nhưng người tính không bằng trời tính: một file cho phép bất kì người dùng nào upload nội dung lên một thư mục được CHMOD 777 (cho phép bất kì ai cũng có thể ghi dữ liệu lên). Và đến lúc anh chàng đã có một lượng User kha khá, kẻ chèn file upload ấy đã upload backdoor lên chiếm đoạt toàn bộ thông tin cơ sở dữ liệu và … drop database chơi B-(
N. nhờ NhanWeb cứu vãng tình thế nhưng NhanWeb cũng đành bó tay vì DB đã bị Drop. Đau đơn, thất vọng ! N. thề không bao giờ download các code của người khác về sử dụng nếu không phải là download từ chính website tác giả, các mã nguồn khác N. chỉ download về để tham khảo.
Lại nói về côn đồ mạng
Câu chuyện trên khiến mình giật mình khi nghĩ về vấn đề chia sẻ mã nguồn tràn lan hiện nay.
Bạn có chắc rằng mã nguồn của bạn không có một con virus được tặng kèm không ?. Bản thân là người làm code, NhanWeb hiểu rõ rằng nếu cố ý, kẻ phá hoại có thể dễ dàng chèn một vài đoạn lệnh nào đó để chiếm quyền Admin dễ dàng. Có thể chỉ cần 1 file lưu lại đoạn SQL set lại password Admin thôi cũng đủ gây thiệt hại cho bạn rồi. Đối với những lệnh kiểu này không phải phần mềm diệt virus nào cũng phát hiện ra đoạn mã ấy có hại (và hầu hết là còn lâu mới phát hiện ra) nên việc phòng ngừa bằng các chương trình diệt virus coi như bị vô hiệu hóa.
Kiểm tra bằng tay ư ?
Liệu bạn có đủ thời gian và công sức và độ kiên nhẫn để kiểm tra tất cả 1.000(hoặc hơn) file trong bộ source code ? Nếu bạn đủ thời gian để kiểm tra toàn bộ có lẽ bạn không nên kiểm tra làm gì mà tự mình viết một bộ source coi bộ ổn hơn.
Việc các bạn trẻ chia sẻ mã nguồn để cùng học hỏi và chia sẻ là một điều theo mình là đáng quí. Tuy nhiên không phải lúc nào việc chia sẻ cũng đem lại cái lợi. Nhiều người lợi dụng các bạn có tinh thần chia sẻ này để phát tán các đoạn mã độc đến các website rồi thi về thông tin người dùng hoặc tiến hành chiếm đoạt website phục vụ mục đích riêng của mình (như việc biến các user của website đó thành các zoombie chẳng hạn).
Và việc này hoàn toàn là có thực, thậm chí rất nhiều.
Phòng bệnh hơn chữa bệnh
Bản thân mình cũng là một người hoạt động trong lĩnh vực lập trình website nên đôi lúc mình cũng học hỏi từ các bạn khác bằng cách chia sẻ và download các mã nguồn khác về học hỏi thêm. Tuy nhiên, sử dụng các mã nguồn của người khác mình luôn tuân thủ các qui tắc vàng sau: :hello:
- Nguồn gốc không rõ ràng: chỉ để tham khảo một đoạn mã nào đó mà mình quan tâm. Còn vấn đề cài đặt để sử dụng thì … miễn bàn.
- Chỉ sử dụng các mã nguồn mở được chính tay mình download từ các website của họ. Download trực tiếp từ phpBB.COM nếu bạn sử dụng phpBB, từ WordPress.ORG nếu bạn sử dụng WordPress. Đặc biệt, các plugin là dễ chứa các lỗi bảo mật cũng như thường được chèn các đoạn code gây hại nhất. Nếu cần plugin mình chỉ tin tưởng các plugin được upload lên trang chủ của mã nguồn mở ấy chứ không download linh tinh.
- Nếu bắt buộc phải sử dụng một mã nguồn không rõ nguồn gốc: backup thường xuyên. Điều này là rất cần thiết. Cho dù có rủi ro về bảo mật xảy ra cũng hạn chế được phần nào hậu quả.
- Thường xuyên update các bản nâng cấp.