A5-Lỗi cấu hình ứng dụng không an toàn - Security Misconfiguration
1.Định nghĩa
Tác nhân đe dọa : Có thể là những kẻ tấn công nặc danh từ phía ngoài, hoặc người người dùng sở hữu tài khoản muốn kiểm soát hệ thống. Cũng nên cân nhắc những đối tượng nội bộ muốn che dấu hành động
Hướng tấn công (Khả năng khai thác: DỄ): Kẻ tấn công sử dụng tài khoản tài khoản mặc định, trang web không được sử dụng, lỗi bảo mật chưa được vá, tập tin và thư mục không được bảo vệ để thu thâp thông tin hoặc truy cập hệ thống một cách bất hợp pháp.
Điểm yếu bảo mật (Mức độ phổ biến: THÔNG THƯỜNG, Khả năng phát hiện: DỄ): Sai sót trong cấu hình an ninh có thể xảy ra ở bất kì cấp độ ứng dụng nào, bao gồm: nền dụng, các khuôn mẫu hay các đoạn mã tùy chỉnh. Người phát triển và nhà quản trị mạng cần phải làm việc cùng nhau để đảm bảo rằng từng lớp được chỉnh một cách đúng đắn. Những công cụ quét tự động cũng có thể hữu ích trong việc phát hiện những bản vá lỗi bị thiếu, sai sót trong cấu hình hoặc sử dụng những tài khoản mặc định, những dịch vụ không cần thiết.
Ảnh hưởng kỹ thuật (Ảnh hưởn: VỪA PHẢI): Lỗi như vậy thường cho kẻ tấn công quyền truy cập bất hợp pháp đếnnhững chức năng hay dữ liệu hệ thống. Thỉnh thoảng lỗi này cũng có thể giúp kẻ tấn công chiếm toàn bộ hệ thống.
Ảnh hưởng kinh doanh: Toàn bộ hệ thống có thể bị chiếm mà bạn không thể biết. Tất cả dữ liệu có thể bị đánh cắp hoặc thay đổi từ từ qua thời gian. Việc sửa chữa sai sót có thể rất tốn kém.
2. Tôi có thể bị tấn công bởi lỗi “Security Misconfiguration” không?
Bạn đã thực hiện việc bảo vệ an ninh cho từng lớp ứng dụng chưa ?
- Bạn đã có một quy trình để giữ cho các phần mềm được cập nhật? Bao gồm HDH, Máy chủ web, DBMS (hệ quản lý dữ liệu), ứng dụng, và tất cả các thư viện mã
- Liệu những thứ không cần thiết có được tắt hoặc xóa đi không ? (cổng mạng, dịch vụ, trang web, tài khoản)
- Các tài khoản mặc định đã được vô hiệu hay được thay đổi chưa ?
- Những phần xử lý lỗi có được thiết lập để tránh rò rỉ những dấu vết stack hay những thông tin lỗi quá cụ thể?
- Bạn có hiểu rõ và cấu hình một cách thích hợp những thiết lập an ninh trong các khuôn mẫu (Ví dụ: Struts, Spring, ASP.Net) và thư viện dùng để phát triển? Nên có một quy trình phối hợp và lặp đi lặp lại để phát triển và duy trì một cấu hình an ninh ứng dụng phù hợp
3. Làm thế nào để tôi ngăn ngừa được ‘Security Misconfiguration’ ?
Chúng tôi khuyến khích thiết lập tất cả những thứ sau:
- Một tiến trình bảo mật có thể dễ dàng lặp lại giúp cho việc triển khai trên môi trường khác nhanh chóng và dễ dàng, nên được thiết lập giống nhau, nên được tự động để giảm thiểu công sức thiết lập một môi trường mới an toàn
- Một tiến trình cho việc cập nhật và triển khai tất cả những bản nâng cấp và bản vá của phần mềm một cách định kz đối với mỗi môi trường được triển khai. Nó cũng bao gồm luôn những thư viện chương trình thường bị bỏ qua.
- Một kiến trúc ứng dụng vững chắc có thể phân tách và bảo vệ các thành phần riêng biệt
- Hãy xem xét việc chạy chương trình quét và kiểm tra định kì để phát hiện những cấu hình sai hoặc những bản vá thiếu..
4. Các kịch bản tấn công
Kịch bản 1: Ứng dụng của bạn phụ thuộc vào 1 nền tảng phát triển mạnh như Struct or Spring. Lỗi XSS được phát hiện trong những phần mà bạn phụ thuộc. Một bản vá được phát hành nhưng bạn đã bỏ qua. Kẻ tấn công có thể lợi dụng lỗi đó bất cứ lúc nào nếu bạn còn chưa cập nhật.
Kịch bản 2: Giao diện điều khiển máy chủ của quản trị viên được tự động cài đặt và không được gỡ bỏ. Tài khoản mặc định chưa được thay đổi. Kẻ tấn công phát hiện đăng nhập với tài khoản mặc định và chiếm quyền điều khiển hệ thống.
Kịch bản 3: Chức năng liệt kê thư mục chưa được vô hiệu hóa Kẻ tấn công phát hiện và hắn có thể liệt kê các tập tin trong thư mục và tìm tập tin hắn muốn. Ví dụ những tập tin Java class của bạn, hắn dịch ngược về mã nguồn và tìm ra những lỗ hổng nghiêm trọng trong đó.
Kịch bản 4: Cấu hình máy chủ cho phép người dùng xem các dấu vết stack, điều này có thể để lộ những lỗ hổng bảo mật. Kẻ tấn công rất thích những thông tin được thêm vào trong những thông điệp báo lỗi như vậy.