HOTLINE Kỹ Thuật: 098.114.9449

OWASP TOP10 2023

07/11/2024 11:09 603 lần Chuyên mục: Bài viết kỹ thuật

Broken Object Level Authorization

– Lổ hổng này xảy ra khi website không kiểm soát chặt chẽ quyền truy cập đến các đối tượng trong server.

– Kẻ tấn công có thể thay đổi thuộc tính như id của url thì dễ dàng truy xuất, tìm kiếm hoặc sửa đổi thông tin của website.

– VD:

+ URL là api/account/1/personal.info.

+ Với 1 là id của user thì kẻ tấn công có thể suy đoán và thử với id khác.

+ Nếu web không kiểm tra quyền thì kẻ tấn có có thể có được thông tin của user. Kẻ tấn công có thể thêm hoặc xóa thông tin.

– Cách ngăn chặn:

+ Kiểm tra phân quyền với tất cả user và kiểm tra request.

+ Kiểm tra quyền user khi truy cập database.

+ Sử dụng giá trị ngẫu nhiên không đoán được như GUID thay thế cho ID

 

Broken Authentication

– Lỗ hổng xảy ra khi các giải pháp xác thực và quản lý session không được triển khai kỹ càng, kẻ tấn công có thể truy cập vào các tài khoản user, chiếm quyền điều khiển.

– Các nhà phát triền thường không tuần thủ các quy tắc tiêu chuẩn, sử dụng mật khẩu yếu, thuật toán mã hóa yếu, không có cơ chế chống lại bruteforce, thông tin xác thực bị lộ trên URL,…

– Cách ngăn chặn:

+ Triển khai cơ chế xác thực theo tiêu chuẩn có sẵn.

+ Cần triển khai xác thực 2 yếu tố (two-factor authentication).

+ Sử dụng thuật toán mã hóa mới, hàm băm.

+ Triển khai cơ chế ngăn chặn bruteforce, lockout khi nhập sai nhiều lần.

+ Token tồn tại trong thời gian ngắn, thay đổi liên tục.

 

Broken Object Property Level Authorization

– Lỗ hổng này hơi khác so với Broken Object Level Authorization, xảy ra khi người dùng có thể thay đổi các thuộc tính (thông tin) của người dùng khác.

– Ví dụ:

+ Một người dùng có các thuộc tính họ tên, tuổi, quyền hạn.

+ Attacker là một người dùng nhưng lại có thể thay đổi và chỉnh sửa các thuộc tính như quyền hạn của người khác.

– Cách ngăn chặn:

+ Đảm bảo người dùng chỉ có thể truy cập thuộc tính được cung cấp

+ Kiểm tra và xác thực của các yêu cầu thay đổi thuộc tính.

 

Unrestricted Resource Consumption

– Đây là lỗ hổng mà kẻ tấn công phá hoại tài nguyên của hệ thống như phần mềm, ứng dụng như tốc độ mạng, CPU, bộ nhớ gây ra sự gián đoạn hoặc làm quá tải.

– Khi bị tấn công, hệ thống sẽ phản hồi chậm, ảnh hưởng trải nghiệm người dùng.

– Cách ngăn chặn:

+ Giới hạn cho tài nguyên hệ thống.

+ Thiết lập các giới hạn cho dữ liệu đầu vào.

+ Thiết lập số lần tương tác mà người dùng có thể trong 1 khoảng thời gian.

 

Broken Function Level Authorization

– Lỗ hổng này khi kẻ tấn công thực hiện request yêu cầu quyền quản trị như super admin, admin, user, anonymous,…

– Các website và ứng dụng không thực hiện kiểm tra yêu cầu của người dùng nên bị kẻ tấn công lợi dụng.

– Lỗ hổng nãy thường dễ dàng được phát hiện trong URL như api/v1/user sang api/v1/superadmin để truy cập vào quyền super admin và có các chức năng của super admin.

– Cách ngăn chặn:

+ Không tin tưởng vào request phía client mà phải có kiểm tra phân quyền.

+ Thiết lập cơ chế phần quyền rõ ràng, từ chối tất cả yêu cầu truy cập từ phân quyền thấp hơn.

 

Unrestricted Access to Sensitive Business Flows

– Là lỗ hổng mà kẻ tấn công có thể truy cập đến các quy trình kinh doanh nhạy cảm trong website ứng dụng của doanh nghiệp. 

– Khi xảy ra, kẻ tấn công có thể thực hiện các quyền trong quy trình như quản lý tài khoản, thanh toán, đặt hàng,… gây ảnh hưởng tới hoạt động của doanh nghiệp.

– Cách ngăn chặn:

+ Thiết lập các chính xác kiểm soát truy cập.

+ Giám sát các hoạt động của người dùng.

+ Đảm bảo tính bảo mật của dữ liệu.

 

Server Side Request Forgery (SSFR)

– Là lỗ hổng mà kẻ tấn công có thể tạo ra các request dựa trên yêu cầu của từ máy chủ và tấn công vào hệ thống, tài nguyên nội bộ phía máy chủ. 

– Ví dụ: 

+ Mạng xã hội cho phép người dùng upload ảnh. Người dùng có thể up ảnh từ máy hoặc URL.

+ Kẻ tấn công sẽ gửi URL chứa mã độc như quét cổng trong hệ thống nội bộ: “picture_url”: “localhost:8080”.

+ Sau đó dựa vào thời gian trả lời, kẻ tấn công có thể xác định được, nếu mở sẽ tấn công DoS.

– Cách ngăn chặn:

+ Hạn chế phạm vi yêu cầu lấy tài nguyên.

+ Không cho chuyển hướng sang HTTP.

+ Sử dụng các công cụ phân tích URL.

+ Xác thực tất cả dữ liệu đầu vào do người dùng cung cấp.

 

Security Misconfiguration

– Cấu hình bảo mật không đúng khi thiết lập hệ thống, những lỗ hổng có thể được phát hiện bằng các công cụng scan. Kẻ tấn công thường tìm và khai thác các lỗ hổng chưa được vá hoặc các hệ thống đã lỗi thời để truy cập vào.

– Hệ thống sử dụng phiên bản cũ, bật những dịch vụ không cần thiết như telnet, ssh, không thiết lập mã hóa TLS, …

– Cách ngăn chặn:

+  Thiết lập và tuân thủ các hướng dẫn bảo mật

+ Áp dụng các cấu hình an toàn cho tất cả các thành phần, cập nhật và vá các phần mềm và hệ thống thường xuyên.

+ Kiểm tra tính hợp lệ của các cấu hình và thiết lập môi trường chạy thử.

 

Improper Inventory Management

– Là lỗ hổng liên quan tới việc quy trình quản lý và kiểm soát các tài nguyên trong hệ thống không được thực hiện đúng cách hoặc không đủ bảo mật. Kẻ tấn công có thể khai thác vào các tài nguyên cũ không được bảo mật cao.

– Cách ngăn chặn: 

+ Lập danh mục các dịch vụ tích hợp và tài liệu các khía cạnh quan trọng như vai trò của chúng trong hệ thống, dữ liệu được trao đổi (luồng dữ liệu), và mức độ nhạy cảm của dữ liệu.

+ Chỉ cung cấp tài liệu cho những người được ủy quyền sử dụng.

+ Đảm bảo các phương pháp bảo mật được áp dụng để bảo vệ dữ liệu

 

Unsafe Consumption of APIs

– Lỗ hổng trong việc sử dụng các giao diện lập trình ứng dụng (API). Không kiểm soát hoặc không đảm bảo an toàn khi giao tiếp và sử dụng API.

– Cách ngăn chặn: 

+ Xác thực và ủy quyền, kiểm tra đầu vào.

+ Đảm bảo kênh giao tiếp được bảo mật sử dụng TLS.

+ Đảm bảo chỉ những trang được cho phép mới được quyền trỏ sang.


CÔNG TY CỔ PHẦN DASS – NHÀ PHÂN PHỐI HÀNG ĐẦU GIẢI PHÁP BẢO MẬT SOPHOS

♦ HCM: 55/10 Trần Đình Xu, Phường Cầu Kho, Quận 1, TP. HCM

♦ 028 2055 2868

♦ Hà Nội: Số 29, Lê Đại Hành, Quận Hai Bà Trưng, Hà Nội

♦ 024 3555 3030

♦ Email: info@dass.vn

♦ Fanpage: DASS – Sophos Việt Nam