Mặc dù các dạng tấn công vào logic xử lý của các website khác nhau thƣờng khác nhau, nhƣng vẫn có những bƣớc cơ bản cần thực hiện để hạn chế các lỗ hổng và từ đó giảm đƣợc các nguy cơ bị tấn công. Các biện pháp thƣờng sử dụng bao gồm: yêu cầu viết tài liệu, tạo các test case toàn diện, ánh xạ chính sách – kiểm soát, lập trình an toàn, xác minh máy khách và các hƣớng dẫn thực hiện mã hóa. Phần tiếp theo mô tả chi tiết hơn các biện pháp này.
Yêu cầu viết tài liệu
Yêu cầu viết tài liệu đảm bảo rằng các tài liệu mô tả các khâu từ phân tích yêu cầu, đến thiết kế và cài đặt cần đƣợc thực hiện đầy đủ. Nhờ vậy, khi có lỗi an ninh, có thể sử dụng tài liệu để phân tích, cô lập lỗi và có hƣớng khắc phục phù hợp.
Tạo các test case toàn diện
Tạo các test case để test toàn diện về chức năng, lƣu đồ xử lý và các bộ lọc, kiểm tra định dạng, kích thƣớc và nội dung dữ liệu. Nội dung test an ninh bao gồm: kiểm tra các lỗi XSS, CSRF, chèn mã SQL,... sử dụng phƣơng pháp thủ công và các công cụ tựđộng. Ngoài ra, với các lỗi đã gặp cần phân tích chi tiết để có thể học tập và rút kinh nghiệm, tránh lặp lại.
Ánh xạ chính sách – kiểm soát
Chính sách (Policy) và kiểm soát (Control) có quan hệ chặt chẽ, trong đó chính sách an ninh đề ra các yêu cầu, còn kiểm soát đƣợc thực hiện sẽtăng cƣờng hiệu lực của chính
58 sách. Do vậy, cần có chính sách toàn diện và đầy đủ thì kiểm soát mới đƣợc thực hiện chặt chẽ. Trên thực tế, việc kiểm soát truy nhập ở các ứng dụng web khác nhau thƣờng không giống nhau. Chẳng hạn, ứng dụng email trên nền web có thể cho phép ngƣời dùng truy nhập từ nhiều địa chỉ IP khác nhau trong ngày. Tuy nhiên, một số ứng dụng web khác không cho phép điều này mà ngƣời dùng chỉ đƣợc phép truy nhập từ một địa chỉ IP cốđịnh.
Lập trình an toàn
Cần áp dụng các quy trình lập trình an toàn, theo đó mã cần đƣợc viết rõ ràng, đủ chú thích, dễđọc, dễ bảo trì, sửa đổi. Sử dụng các hàm thƣ viện an toàn để tránh các lỗi tràn bộđệm,....
Xác minh máy khách
Cần lƣu ý rằng các biện pháp an ninh áp dụng trên trình duyệt chỉ có thể ngăn chặn ngƣời dùng thông thƣờng khỏi lỗi, mà không ngăn chặn đƣợc kẻ tấn công. Do vậy, các biện pháp an ninh phải đƣợc áp dụng trên máy chủ, chẳng hạn kiểm tra việc chuyển trạng thái và kiểm tra quy trình xử lý giao dịch.
Các hướng dẫn thực hiện mã hóa
Một sốhƣớng dẫn mã hóa, truy nhập đƣợc khuyến nghị áp dụng:
- Sử dụng các giải thuật mã hóa đã đƣợc chuẩn hóa và cài đặt dựa trên các thƣ viện đã đƣợc test kỹ càng;
- Sử dụng hàm bămHMAC để phát hiện sửa đổi dữ liệu;
- Không thông báo lỗi giải mã cho client do kẻ tấn công có thể lợi dụng để dùng cho việc phân tích phá mã;
- Giảm bớt tần suất trình duyệt truy nhập dữ liệu nhạy cảm;
- Nhận dạng các điểm truy nhập vào dữ liệu nhạy cảm không mã hóa. Đồng thời, cần ghi log truy nhập với nhóm ngƣời dùng có quyền truy nhập vào dữ liệu nhạy cảm không mã hóa.
- Tạo số ngẫu nhiên thực sự ngẫu nhiên.