Broken Access Control là gì? Nguy cơ bảo mật và cách phòng tránh hiệu quả
13/04/2026Trong hệ thống web hiện đại, kiểm soát quyền truy cập là yếu tố quan trọng để bảo vệ dữ liệu và đảm bảo an toàn. Tuy nhiên, Broken Access Control vẫn là lỗ hổng phổ biến, cho phép truy cập trái phép vào tài nguyên hệ thống. Bài viết sau đây hãy cùng Viettel IDC tìm hiểu rõ bản chất, rủi ro và cách phòng tránh lỗ hổng này hiệu quả nhé.

Broken Access Control là gì?
Broken Access Control là lỗ hổng bảo mật xảy ra khi hệ thống không kiểm soát đúng quyền truy cập của người dùng. Nói cách đơn giản, người dùng có thể truy cập vào dữ liệu, chức năng hoặc tài nguyên mà đáng lẽ họ không được phép sử dụng.
Trong một hệ thống chuẩn, mỗi người dùng sẽ có một vai trò (role) và tập quyền (permission) riêng. Ví dụ, admin có toàn quyền quản lý, trong khi user thông thường chỉ có thể xem hoặc chỉnh sửa dữ liệu của chính mình. Tuy nhiên, nếu cơ chế kiểm tra quyền bị lỗi hoặc thiếu sót, hệ thống sẽ không thể phân biệt được ai được phép làm gì. Điều này dẫn đến việc người dùng có thể xem dữ liệu của người khác, truy cập trang quản trị và thực hiện các hành động ngoài phạm vi quyền hạn
Điểm nguy hiểm của Broken Access Control là nó không cần kỹ thuật tấn công quá phức tạp. Trong nhiều trường hợp, chỉ cần thay đổi một tham số trong URL hoặc gửi một request API là đã có thể khai thác thành công.
Có thể bạn quan tâm:
- IAM là gì? Tầm quan trọng và cách thức hoạt động
Broken Access Control xảy ra như thế nào?
Broken Access Control thường không đến từ một lỗi duy nhất, mà là kết quả của nhiều sai sót nhỏ trong thiết kế và triển khai hệ thống. Một trong những nguyên nhân phổ biến nhất là việc thiếu kiểm tra quyền ở phía server. Nhiều ứng dụng chỉ kiểm tra quyền ở giao diện người dùng (frontend), ví dụ như ẩn nút admin hoặc không hiển thị chức năng nhạy cảm. Tuy nhiên, attacker có thể bỏ qua giao diện và gửi request trực tiếp đến server, nơi không có kiểm tra quyền đầy đủ.
Ngoài ra, việc tin tưởng dữ liệu từ phía client cũng là một nguyên nhân lớn. Nếu hệ thống dựa vào dữ liệu như role, user ID hoặc permission được gửi từ client mà không xác thực lại, attacker có thể dễ dàng chỉnh sửa thông tin này để nâng quyền.
Cuối cùng, logic phân quyền phức tạp nhưng không được kiểm thử kỹ cũng dễ dẫn đến lỗi. Khi hệ thống có nhiều role, nhiều cấp quyền hoặc nhiều điều kiện truy cập, việc bỏ sót một trường hợp nhỏ cũng có thể tạo ra lỗ hổng nghiêm trọng.
Các dạng lỗi Broken Access Control phổ biến
Truy cập trái phép vào tài nguyên (IDOR)
IDOR (Insecure Direct Object Reference) là một trong những dạng phổ biến nhất của Broken Access Control. Lỗi này xảy ra khi hệ thống sử dụng trực tiếp ID hoặc tham số để truy cập tài nguyên mà không kiểm tra quyền.
Ví dụ, một URL như /order?id=1001 có thể được thay đổi thành /order?id=1002 để xem đơn hàng của người khác. Nếu server không xác minh rằng người dùng có quyền truy cập vào ID đó, dữ liệu sẽ bị lộ. IDOR rất nguy hiểm vì dễ khai thác và thường xuất hiện trong các hệ thống chưa được kiểm tra kỹ về bảo mật.
Bypass kiểm tra quyền truy cập
Trong nhiều ứng dụng, việc kiểm tra quyền có thể bị bypass do logic không chặt chẽ. Ví dụ, hệ thống chỉ kiểm tra quyền ở một bước nhưng không kiểm tra lại ở bước xử lý chính. Attacker có thể tận dụng điểm yếu này để gửi request trực tiếp đến endpoint nhạy cảm mà không cần đi qua các bước kiểm tra ban đầu. Điều này thường xảy ra khi hệ thống có nhiều layer nhưng không đồng bộ về kiểm soát truy cập.
Thay đổi role hoặc permission
Một dạng tấn công khác là chỉnh sửa role hoặc permission của người dùng. Nếu thông tin này được lưu ở phía client (cookie, token, request body) mà không được xác thực, attacker có thể dễ dàng thay đổi giá trị.
Ví dụ, thay đổi role từ “user” thành “admin” trong request có thể giúp truy cập vào các chức năng quản trị nếu server không kiểm tra lại. Đây là lỗi nghiêm trọng vì có thể dẫn đến việc chiếm toàn bộ hệ thống.
Lộ endpoint nội bộ hoặc admin
Nhiều hệ thống có các endpoint dành riêng cho quản trị hoặc nội bộ nhưng không được bảo vệ đúng cách. Những endpoint này có thể bị lộ qua việc đoán URL, phân tích API hoặc đọc tài liệu công khai. Nếu không có cơ chế xác thực và phân quyền chặt chẽ, attacker có thể truy cập trực tiếp vào các endpoint này và thực hiện các hành động nguy hiểm.
Cách phát hiện Broken Access Control
- Kiểm tra quyền truy cập theo từng role: Một trong những cách hiệu quả nhất là kiểm tra quyền của từng role trong hệ thống. Cần xác định rõ mỗi role được phép làm gì và kiểm tra xem có thể truy cập vượt quyền hay không. Việc này nên được thực hiện cả ở giao diện người dùng và phía server để đảm bảo không có điểm nào bị bỏ sót.
- Test API và endpoint nhạy cảm: API là nơi thường xảy ra Broken Access Control vì nó không có giao diện trực quan. Tester cần thử gửi các request với dữ liệu thay đổi như user ID, role hoặc token để xem hệ thống phản ứng như thế nào. Đây là cách đơn giản nhưng rất hiệu quả để phát hiện lỗ hổng.
- Sử dụng công cụ kiểm thử bảo mật: Các công cụ như Burp Suite hoặc OWASP ZAP có thể giúp tự động phát hiện các vấn đề liên quan đến access control. Chúng cho phép phân tích request, thay đổi tham số và kiểm tra phản hồi của hệ thống. Tuy nhiên, công cụ chỉ hỗ trợ một phần. Việc kiểm thử thủ công vẫn rất quan trọng để phát hiện các lỗi logic phức tạp.
- Phân tích log truy cập bất thường: Log hệ thống có thể cung cấp nhiều thông tin giá trị. Các dấu hiệu như truy cập vào tài nguyên không thuộc quyền, request lặp lại với nhiều ID khác nhau hoặc truy cập vào endpoint hiếm gặp đều có thể là dấu hiệu của tấn công. Việc theo dõi và phân tích log giúp phát hiện sớm các hành vi bất thường và giảm thiểu rủi ro.

Cách phòng chống Broken Access Control hiệu quả
Kiểm tra quyền ở phía server (server-side validation)
Một trong những sai lầm nghiêm trọng nhất khi triển khai phân quyền là đặt niềm tin vào phía client. Trên thực tế, mọi logic hiển thị ở frontend như ẩn nút, khóa chức năng hay điều hướng chỉ mang tính hỗ trợ trải nghiệm người dùng, hoàn toàn không có giá trị bảo mật. Do đó, nguyên tắc cốt lõi là: Mọi hành động quan trọng đều phải được kiểm tra quyền trực tiếp tại server. Khi nhận request, server cần xác định rõ danh tính người dùng và đối chiếu với quyền hạn tương ứng trước khi cho phép thực thi.
Điều quan trọng là việc kiểm tra này phải diễn ra đồng nhất trên tất cả endpoint, bao gồm cả API nội bộ, endpoint ẩn hoặc các chức năng ít được sử dụng. Chỉ cần một điểm không kiểm tra quyền, toàn bộ hệ thống có thể bị khai thác. Việc triển khai kiểm tra quyền ở server không chỉ giúp ngăn chặn truy cập trái phép mà còn tạo nền tảng bảo mật vững chắc cho toàn bộ ứng dụng.
Không tin tưởng dữ liệu từ client
Trong môi trường web, mọi dữ liệu gửi từ phía client đều có thể bị thay đổi trước khi đến server. Điều này có nghĩa là các thông tin như user ID, role, permission hay trạng thái hành động không bao giờ được xem là đáng tin cậy nếu không được xác minh lại. Một lỗi phổ biến là sử dụng trực tiếp dữ liệu từ request để xử lý logic phân quyền. Ví dụ, nếu hệ thống dựa vào role được gửi từ client để quyết định quyền truy cập, attacker hoàn toàn có thể sửa giá trị này để nâng quyền.
Giải pháp đúng là tất cả thông tin quan trọng cần được lấy từ nguồn tin cậy như: session phía server, token đã được xác thực chữ ký hoặc dữ liệu trong database. Hiểu đơn giản, client chỉ nên đóng vai trò gửi yêu cầu, còn việc quyết định cho phép hay từ chối phải do server kiểm soát hoàn toàn.
Áp dụng nguyên tắc least privilege
Nguyên tắc least privilege (quyền tối thiểu) là một trong những nền tảng quan trọng trong bảo mật hệ thống. Theo đó, mỗi người dùng hoặc dịch vụ chỉ được cấp đúng mức quyền cần thiết để thực hiện nhiệm vụ của mình, không hơn.
Việc giới hạn quyền mang lại lợi ích rất rõ ràng. Nếu một tài khoản bị xâm phạm hoặc bị lợi dụng, phạm vi thiệt hại sẽ bị thu hẹp đáng kể. Ví dụ, nếu một user chỉ có quyền đọc dữ liệu, attacker sẽ không thể chỉnh sửa hoặc xóa thông tin ngay cả khi đã truy cập được vào tài khoản đó.
Kiểm tra và audit định kỳ
Bảo mật không phải là một trạng thái cố định mà là một quá trình liên tục. Ngay cả khi hệ thống đã được thiết kế tốt từ đầu, các thay đổi trong quá trình phát triển vẫn có thể vô tình tạo ra lỗ hổng mới. Vì vậy, việc kiểm tra và audit định kỳ là bắt buộc.
Bên cạnh đó, việc sử dụng công cụ tự động như scanner bảo mật cũng giúp phát hiện nhanh các lỗi phổ biến. Tuy nhiên, các lỗ hổng liên quan đến logic như Broken Access Control thường cần kết hợp với kiểm thử thủ công để phát hiện chính xác.
Kết luận
Broken Access Control là một trong những lỗ hổng nguy hiểm và phổ biến nhất trong các ứng dụng hiện đại. Để phòng tránh hiệu quả, doanh nghiệp cần xây dựng cơ chế kiểm soát truy cập chặt chẽ ngay từ đầu. Khi được triển khai đúng cách, access control không chỉ giúp bảo vệ dữ liệu mà còn đảm bảo sự ổn định và uy tín của toàn bộ hệ thống.
Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:
- Hotline: 1800 8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
Tin nổi bật
Tin liên quan
Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng
Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.
Figma là gì? Nền tảng thiết kế và cộng tác trực tuyến
Figma là gì, có những tính năng nổi bật nào? Tìm hiểu Vector Network, Auto Layout, Dev Mode và vị thế hiện tại của Figma trong ngành thiết kế.
Camera Cloud cần tốc độ mạng bao nhiêu? Cách tính băng thông cần thiết
Camera Cloud cần tốc độ mạng bao nhiêu? Tìm hiểu mức băng thông cần thiết, cách tính upload và các yếu tố ảnh hưởng đến tốc độ khi sử dụng Camera Cloud.
Camera Cloud có bị hack không? Nguyên nhân và cách bảo mật
Camera Cloud có bị hack không? Tìm hiểu các rủi ro bảo mật, nguyên nhân bị xâm nhập và cách bảo vệ camera, tài khoản cùng dữ liệu hiệu quả.
Viettel IDC: Nhà cung cấp VMware Sovereign Cloud duy nhất tại Đông Nam Á
Tại VMware Explore 2026 ở Las Vegas, Broadcom đã giới thiệu nhóm 57 nhà cung cấp dịch vụ đám mây chủ quyền trên nền tảng VMware Cloud Foundation. Viettel IDC là đơn vị duy nhất tại Đông Nam Á có tên trong danh sách này, đánh dấu bước tiến mới của doanh nghiệp Việt Nam trên thị trường hạ tầng cloud khu vực.
Ghidra là gì? Chức năng và ứng dụng trong reverse engineering
Ghidra là gì? Tìm hiểu công cụ reverse engineering mã nguồn mở của NSA, các chức năng chính, ứng dụng thực tế và điểm khác biệt với IDA Pro.
10 công cụ tối ưu hóa website theo từng mục tiêu
Tổng hợp 10 công cụ tối ưu hóa web cho tốc độ, SEO, trải nghiệm người dùng và chuyển đổi, kèm bảng so sánh và gợi ý lựa chọn theo nhu cầu.
So sánh WHOIS và DNS Lookup: Điểm khác nhau và khi nào nên sử dụng
WHOIS và DNS Lookup khác nhau thế nào? Tìm hiểu định nghĩa, bảng so sánh, vai trò của RDAP thay thế WHOIS, và khi nào nên dùng công cụ nào.
Cách test tải hệ thống: Quy trình và công cụ phổ biến
Cách test tải hệ thống hiệu quả gồm những bước nào? Tìm hiểu quy trình, chỉ số cần đo và công cụ phổ biến như JMeter, k6.
Cloud Monitoring là gì? So sánh Hybrid Cloud và Multi Cloud Monitoring
Cloud Monitoring là quá trình theo dõi, quản lý và đánh giá hiệu suất của các tài nguyên và dịch vụ đám mây, bao gồm giám sát máy chủ, cơ sở dữ liệu, ứng dụng và hệ thống mạng
Bình luận ()