Vấn đáp#
Câu 1: Trong bối cảnh leo thang đặc quyền, sự khác biệt giữa leo thang đặc quyền dọc (vertical) và ngang (horizontal) là gì, và bạn có thể đưa ra ví dụ cho mỗi loại không?
- Leo thang đặc quyền dọc là sự leo thang đặc quyền từ một tài khoản có đặc quyền thấp lên một tài khoản có đặc quyền cao hơn (như tài khoản quản trị). VD: Hacker chiếm được 1 tài khoản nội bộ của nhân viên văn phòng, hacker từ tài khoản của nhân viên đó xâm nhập được vào mạng nội bộ và chiếm quyền điều khiển của tài khoản Admin.
- Leo thang đặc quyền ngang là sự leo thang đặc quyền từ một tài khoản người dùng này sang tài khoản của người dùng khác có quyền hạn ngang nhau. Mục đích của cuộc tấn công này là để chiếm đoạt thông tin, tài sản cá nhân của nạn nhân. VD: Hacker chiếm được tài khoản ngân hàng của 1 người dùng, sau đó hacker lại từ tài khoản này chiếm được tiếp tài khoản ngân hàng của người dùng khác nhằm ăn cắp tài chính của các nạn nhân.
Câu 2: Những chiến lược hoặc phương pháp thực tiễn hiệu quả nào có thể được triển khai để ngăn chặn các lỗ hổng leo thang đặc quyền trong một hệ thống?
- Nguyên tắc đặc quyền tối thiểu: Chỉ cấp cho người dùng, ứng dụng hoặc tiến trình (process) mức quyền thấp nhất vừa đủ để thực hiện nhiệm vụ, tuyệt đối không cấp dư thừa.
- Kiểm soát truy cập chặt chẽ: Áp dụng mô hình Role-Based Access Control (RBAC) hoặc ABAC. Thường xuyên rà soát (audit) và thu hồi ngay quyền của các tài khoản cũ, nhân viên nghỉ việc hoặc chuyển phòng ban.
- Quản lý bản vá: Chủ động cập nhật liên tục hệ điều hành, phần mềm và hệ quản trị cơ sở dữ liệu để vá các điểm yếu đã bị công bố (CVEs)
- Xác thực mạnh: Bắt buộc áp dụng Xác thực đa yếu tố (MFA), đặc biệt là đối với các tài khoản có đặc quyền cao (Admin, Root, Superuser).
- Giám sát và ghi log: Ghi log toàn bộ các hành vi thay đổi quyền, đăng nhập thất bại hoặc truy cập tệp tin nhạy cảm. Sử dụng hệ thống cảnh báo SIEM để phát hiện hành vi bất thường theo thời gian thực.
- Phân đoạn mạng: Cô lập các hệ thống và máy chủ lõi. Nếu kẻ tấn công chiếm được tài khoản ở một vùng mạng thấp, chúng sẽ bị chặn lại và không thể dễ dàng tiếp cận các tài nguyên quan trọng hơn.
- Secure Coding: Luôn thực hiện việc kiểm tra quyền truy cập ở phía máy chủ (Server-side) cho mọi yêu cầu (request). Không bao giờ tin tưởng các thông tin xác thực được truyền từ phía Client (như Cookie, Hidden fields, hay URL parameters).
ID người dùng bị điều khiển thông qua tham số request#
- Truy cập trang chủ bài Lab. Test thử các tính năng trên trang web để quan sát hành vi của trang web. Thông tin đăng nhập được cung cấp:
wiener:peter

- Đầu tiên, dùng tài khoản
wiener:peterđể đăng nhập vào và quan sát, tìm điểm bất thường trong hành vi của trang web.

- Quan sát thấy trên url có tham số
id=wiener. Thông thường, các trang web như vầy sẽ xác thực dựa vào cookie của người dùng thay vì tham số truy vấn người dùng. Tuy nhiên, ở bài lab này, chúng ta sẽ thử thay đổi tham sốid=carlosđể kiểm tra tính năng bảo mật của trang web như nào.

- Rõ ràng là trang web không hề xác thực dựa trên cookie mà lại dựa vào tham số
id. Điều này đã gây ra lỗ hổng leo thang đặc quyền ngang từ tài khoảnwienersang tài khoảncarlosmột cách dễ dàng. Bầy giờ, submit api key củacarlosđể hoàn thành bài lab.
