Danh mục tài liệu

Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 2

Số trang: 67      Loại file: pdf      Dung lượng: 3.28 MB      Lượt xem: 24      Lượt tải: 0    
Xem trước 7 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Nối tiếp phần 1, phần 2 của bài giảng tiếp tục trình bày các nội dung chính sau: Bảo mật trong phát triển và triển khai ứng dụng web; Tổng quan về an toàn cơ sở dữ liệu; Các cơ chế bảo mật cơ sở dữ liệu; Sao lưu, khôi phục dự phòng, kiểm toán và giám sát hoạt động cơ sở dữ liệu.
Nội dung trích xuất từ tài liệu:
Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 2 BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ------------------oOo----------------- HOÀNG XUÂN DẬU BÀI GIẢNG AN TOÀN ỨNG DỤNG WEB VÀ CƠ SỞ DỮ LIỆU HÀ NỘI 2017 CHƢƠNG 4. BẢO MẬT TRONG PHÁT TRIỂN VÀ TRIỂN KHAI ỨNG DỤNG WEB Chương 4 đề cập một số hướng tiếp cận trong phát triển và triển khai ứng dụng web an toàn trong phần đầu. Phần cuối của chương trình bày một số mô hình và phương pháp phát triển phần mềm an toàn. 4.1. Các hƣớng tiếp cận trong phát triển và triển khai ứng dụng web an toàn 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 đó tiến hành kiểm thử bảo mật kiểu 'thâm nhập' (penetration testing) và thực hiện chỉnh sửa 94 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. 4.1.2. Hƣớng tiếp cận toàn diện vấn đề an toàn ứng dụng web 4.1.2.1. Các vấn đề bảo mật trong mô hình hệ thống ứng dụng web Hình 4.2. Mô hình ứng dụng web và các biện pháp bảo mật kèm theo Hình 4.2 mô tả các biện pháp bảo mật áp dụng cho từng thành phần trong mô hình hệ thống ứng dụng web. Theo đó, từng biện pháp, hoặc nhóm biện pháp bảo mật cần đƣợc xác định và áp dụng phù hợp với từng thành phần của hệ thống ứng dụng web. Cụ thể: - Với trình duyệt (Browser): cần xác thực ngƣời dùng (Authenticating users); - Với dữ liệu truyền nhận giữa trình duyệt và máy chủ web: + Bảo vệ dữ liệu nhạy cảm (Protecting sensitive data) + Ngăn chặn việc xử lý tham số (Preventing parameter manipulation) + Ngăn chặn tấn công chiếm phiên làm việc và tái sử dụng cookie (Preventing session hijacking and cookie replay attacks) - Với máy chủ web (Web server): + Thực hiện cấu hình an toàn (Providing secure configuration) 95 + Kiểm tra dữ liệu đầu vào (Validating input) + Cấp quyền ngƣời dùng (Authorising users) + Xử lý các ngoại lệ (Handling exceptions) - Với máy chủ ứng dụng (Application server): + Xác thực và cấp quyền cho ngƣời dùng luồng đến (Authenticating and authorising upstream identities) + Kiểm toán và ghi log các hoạt động và các giao dịch (Auditing and logging activity and transactions) - Với dữ liệu truyền nhận giữa máy chủ ứng dụng và máy chủ cơ sở dữ liệu: + Bảo vệ dữ liệu nhạy cảm (Protecting sensitive data) - Với máy chủ cơ sở dữ liệu (Database server): + Mã hóa hoặc băm dữ liệu nhạy cảm (Encrypting or hashing sensitive data) 4.1.2.2. Các vấn đề bảo mật khi triển khai Hình 4.3. Các nhóm biện pháp bảo mật khi triển khai Do ứng dụng web thƣờng đƣợc triển khai trên hệ thống máy chủ web, máy chủ ứng dụng, máy chủ cơ sở dữ liệu và hạ tầng mạng kèm theo nên cần xác định các nhóm biện pháp bảo mật phù hợp áp dụng cho từng thành phần trong mô hình triển khai. Theo mô hình bảo mật triển khai biểu diễn trên Hình 4.3, các nhóm vấn đề và biện pháp bảo mật bao gồm: - Các vấn đề và biện pháp bảo mật ứng dụng (Application security) - Các vấn đề và biện pháp bảo mật máy chủ (Host security) - Các vấn đề và biện pháp bảo mật theo tô pô triển khai (Deployment topologies), trong đó có các biện pháp áp dụng cho thành phần ứng dụng cục bộ (Local application tier) và các biện pháp áp dụng cho thành phần ứng dụng ở xa (Remote application tier). ...