4.1.1. Giới thiệu
Nhƣ đã đề cập trong CHƢƠNG 1 ứng dụng web là một trong các ứng dụng phổ biến nhất và cũng là ứng dụng có số lƣợng lỗ hổng và tấn công khai thác lớn nhất trên mạng Internet. Do vậy, để đảm bảo an toàn, các biện pháp bảo mật cần đƣợc thực hiện trong suốt vòng đời ứng dụng web, trong giai đoạn phát triển và triển khai, và trong quá trình hoạt động của ứng dụng. Trong giai đoạn phát triển và triển khai, các biện pháp bảo mật cần đƣợc triển khai từ khâu phân tích, thiết kế, lập trình, kiểm thử, triển khai và bảo trì. Trong quá trình hoạt động các hƣớng dẫn và biện pháp bảo mật cần đƣợc áp dụng trong các khâu giám sát, vá lỗi và nâng cấp,…
Hình 4.1 biểu diễn quan hệ giữa mức chi phí khắc phục lỗi theo thời điểm lỗi đƣợc phát hiện và khắc phục. Theo đó, các lỗi đƣợc phát hiện sớm và khắc phục ở các khâu
Xác định yêu cầu/Thiết kế (Requirements/Design) đòi hỏi chi phí nhỏ hơn rất nhiều so với các lỗi đƣợc phát hiện muộn và khắc phục ở các khâu Kiểm thử Beta (Beta Testing), hoặc Phát hành (Release). Ngoài chi phí lớn, việc khắc phục, sửa chữa lỗi ở các khâu cuối của quá trình phát triển phần mềm thƣờng có độ phức tạp rất cao và đôi khi việc sửa lỗi triệt để và toàn diện không thể thực hiện đƣợc.
Hình 4.1. Chi phí khắc phục theo thời điểm phát hiện lỗi
Có 2 hƣớng tiếp cận bảo mật ứng dụng web chính: (1) hƣớng ―thâm nhập và vá‖ (penetrate and patch) và (2) hƣớng tiếp cận toàn diện. Theo hƣớng ―thâm nhập và vá‖, ứng dụng web đƣợc phát triển theo quy trình phát triển phần mềm thông thƣờng, sau đó
95 phần mềm nếu phát hiện lỗi. Hƣớng tiếp cận này tƣơng tự hƣớng tiếp cận hộp đen và có
thể thực hiện nhanh chóng trong thời gian ngắn. Tuy nhiên, việc kiểm thử bảo mật kiểu "thâm nhập" khó có thể phát hiện tất cả các lỗi bảo mật. Ngoài ra, việc khắc phục lỗi phần mềm ở giai đoạn cuối của quy trình phát triển phần mềm thƣờng phức tạp và tốn
kém. Ngƣợc lại với hƣớng ―thâm nhập và vá‖, với hƣớng tiếp cận toàn diện, các yêu cầu và thực tế bảo mật đƣợc đƣa vào ngay từkhâu đầu tiên (Pha phân tích yêu cầu) đến khâu cuối cùng (Pha phát hành) của quy trình phát triển phần mềm. Ƣu điểm của hƣớng tiếp cận này là do các rủi ro, nguy cơ tiềm tàng đƣợc nhận dạng và đánh giá kỹ, nên các biện pháp kiểm soát đƣợc áp dụng đầy đủ giúp hạn chế đến tối thiểu các lỗi bảo mật. Tuy nhiên, hạn chế của nó là thời gian thực hiện dài và chi phí lớn. Mục tiếp theo trình bày nội dung chi tiết của hƣớng tiếp cận này.