Chuyển đến nội dung chính
  1. Nghiên cứu & Ghi chép kỹ thuật/

Lỗ hổng xác thực (Leo thang đặc quyền)

·676 từ·4 phút
Nguyễn Hoàng Thanh Phong
Tác giả
Nguyễn Hoàng Thanh Phong
Sinh viên năm cuối ngành An toàn thông tin tại Đại học FPT. Chuyên nghiên cứu khai thác lỗ hổng bảo mật Web, kiến trúc bảo mật AWS và các công cụ tự động hóa
Web Security Iaw301 - Bài viết này là một phần của loạt bài.
Phần 7: Bài viết này

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
#

  1. 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
Trang chủ bài lab
  1. Đầ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.
Đăng nhập vào tài khoản wiener
  1. 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.
Đăng nhập vào tài khoản carlos
  1. 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ản wiener sang tài khoản carlos một cách dễ dàng. Bầy giờ, submit api key của carlos để hoàn thành bài lab.
Thành công
Web Security Iaw301 - Bài viết này là một phần của loạt bài.
Phần 7: Bài viết này