Điều 5. An toàn bảo mật trong phát triển, duy trì các trang thiết bị phục vụ thanh toán thẻ
1. Thực hiện nhận dạng các lỗ hổng bảo mật bằng công cụ dò quét và các nguồn thông tin của các tổ chức an ninh mạng bên ngoài có uy tín để xác định mức độ ảnh hưởng của các lỗ hổng bảo mật mới đối với hệ thống thanh toán thẻ, bao gồm các mức độ ảnh hưởng: mức độ cao; mức độ trung bình; mức độ thấp.
2. Đảm bảo toàn bộ các thiết bị phục vụ thanh toán thẻ được cập nhật các bản vá lỗ hổng bảo mật đã được công bố từ các nhà sản xuất. Đối với các bản vá các lỗ hổng bảo mật mức độ cao phải được cài đặt trong thời gian sớm nhất và không quá 01 tháng kể từ khi nhà sản xuất công bố bản vá.
3. Phát triển các phần mềm ứng dụng trong lĩnh vực thẻ đảm bảo tuân thủ các quy định của pháp luật và các chuẩn mực phát triển phần mềm ứng dụng được áp dụng rộng rãi trong lĩnh vực công nghệ thông tin. Trong chu trình phát triển phần mềm phải tích hợp với các yêu cầu đảm bảo an toàn thông tin và tối thiểu đáp ứng các yêu cầu sau:
a) Tách biệt môi trường phát triển và kiểm thử với môi trường vận hành;
b) Không sử dụng dữ liệu thẻ trong môi trường vận hành cho môi trường kiểm thử;
c) Loại bỏ toàn bộ dữ liệu và tài khoản kiểm thử trước khi đưa phần mềm vào sử dụng;
d) Đánh giá, xem xét lại mã nguồn phần mềm ứng dụng để phát hiện, khắc phục lỗ hổng bảo mật tiềm tàng trước khi đưa vào sử dụng. Nhân sự thực hiện đánh giá phải độc lập với nhân sự phát triển mã nguồn ứng dụng.
4. Thực hiện các thủ tục kiểm soát sự thay đổi khi cập nhật các bản vá lỗ hổng bảo mật, thay đổi phần mềm ứng dụng:
a) Xây dựng tài liệu đánh giá tác động đến toàn bộ hệ thống và được người có thẩm quyền phê duyệt trước khi thực hiện;
b) Không được làm ảnh hưởng đến tính an toàn bảo mật của hệ thống;
c) Thực hiện sao lưu, có kế hoạch dự phòng trước khi thực hiện thay đổi.
5. Khi phát triển mã nguồn ứng dụng cần kiểm tra, loại bỏ các lỗ hổng bảo mật trong ứng dụng, bao gồm:
a) Các lỗ hổng chèn mã lệnh truy vấn cơ sở dữ liệu (SQL injection), câu lệnh hệ điều hành (OS injection), các phương tiện lưu trữ dữ liệu khác;
b) Lỗi tràn bộ nhớ đệm;
c) Lỗi mã hóa không an toàn trong lưu trữ dữ liệu;
d) Lỗi không an toàn trong truyền thông;
đ) Rò rỉ thông tin qua thông báo lỗi (error handling);
e) Các nguy cơ chèn mã, đoạn mã javascript, jscript, DHTML, các thẻ HTML;
g) Các kiểm soát truy cập không đúng;
h) Các hình thức tấn công chiếm quyền xác thực của người sử dụng trên một website thông qua một website giả mạo khác (Cross Site Request Forgery);
i) Lỗi trong quản lý phiên truy cập (session ID);
k) Các lỗ hổng bảo mật được xác định có mức độ cao được quy định tại Khoản 1 Điều này.
6. Các ứng dụng cung cấp dịch vụ trên các môi trường mạng bên ngoài (mạng internet, mạng không dây, mạng truyền thông di động và các mạng khác) phải có các biện pháp để xử lý các mối đe dọa và lỗ hổng bảo mật, bao gồm:
a) Đánh giá an toàn bảo mật tối thiểu 01 lần/quý hoặc sau khi có sự thay đổi bằng các công cụ đánh giá tự động hoặc thủ công;
b) Thực hiện các giải pháp kỹ thuật tự động phát hiện và phòng chống tấn công bằng thiết bị tường lửa ứng dụng web (Web Application Firewall).
7. Phần mềm hệ thống thanh toán thẻ phải có tính năng lọc, không chấp nhận thanh toán cho các giao dịch không được phép thực hiện theo quy định của pháp luật.