Microsoft Azure: Khai Thác Cấu Hình Sai và Những Lỗ Hổng Bảo Mật Đám Mây Chết Người

Trong bối cảnh điện toán đám mây ngày càng phát triển, Microsoft Azure đã trở thành một nền tảng quan trọng cho nhiều tổ chức. Tuy nhiên, sự phức tạp của các dịch vụ đám mây cũng mang lại những thách thức đáng kể về bảo mật. Các cấu hình sai lệch (misconfiguration) là một trong những rủi ro lớn nhất, thường bị bỏ qua nhưng lại là điểm yếu khai thác ưa thích của kẻ tấn công để kiểm soát hạ tầng đám mây, leo thang đặc quyền, lưu trữ mã độc và thực hiện các cuộc tấn công đánh cắp dữ liệu.

Bài viết này tập trung vào các kỹ thuật khai thác phổ biến xuất phát từ các cấu hình Azure không an toàn, đặc biệt là các bản ghi DNS lơ lửng (dangling DNS records) và các kiểm soát truy cập quá rộng rãi (overly permissive access controls).

Rủi ro từ các bản ghi DNS lơ lửng và chiếm quyền miền phụ (Subdomain Takeover)

Bản ghi DNS lơ lửng là một lỗ hổng bảo mật nghiêm trọng phát sinh khi một bản ghi DNS (phổ biến nhất là bản ghi CNAME hoặc A) vẫn trỏ đến một tài nguyên đám mây đã bị hủy kích hoạt hoặc không còn được sở hữu bởi tổ chức. Điều này thường xảy ra khi các dịch vụ đám mây (ví dụ: Azure App Services, Storage Accounts, Traffic Managers, Virtual Machines) bị xóa hoặc di chuyển, nhưng bản ghi DNS tương ứng không được cập nhật hoặc loại bỏ kịp thời.

Kẻ tấn công có thể dễ dàng phát hiện các tài nguyên bị bỏ hoang này bằng cách quét các miền phụ của tổ chức. Khi tìm thấy một bản ghi DNS lơ lửng, kẻ tấn công có thể yêu cầu (claim) tài nguyên tương ứng trên Azure (hoặc các nhà cung cấp đám mây khác như AWS, GitHub) và sau đó chiếm quyền kiểm soát miền phụ đó. Ví dụ, nếu sub.example.com trỏ đến một dịch vụ Azure không còn tồn tại, kẻ tấn công có thể tạo một dịch vụ mới với cùng tên miền công cộng trên Azure và tự động kiểm soát sub.example.com.

Việc chiếm quyền miền phụ mang lại nhiều lợi thế cho kẻ tấn công:

  • Bỏ qua các biện pháp kiểm soát bảo mật: Lưu lượng truy cập đến miền phụ bị chiếm quyền được coi là đáng tin cậy vì nó sử dụng tên miền hợp pháp của tổ chức, giúp kẻ tấn công dễ dàng vượt qua tường lửa và các bộ lọc bảo mật khác.
  • Lừa đảo và phân phối mã độc: Kẻ tấn công có thể lưu trữ các trang lừa đảo (phishing pages) hoặc mã độc trên miền phụ bị chiếm quyền, tăng độ tin cậy cho các cuộc tấn công.
  • Kiểm soát phiên làm việc (Session Hijacking): Trong một số trường hợp, kẻ tấn công có thể thu thập cookie phiên làm việc hoặc các thông tin nhạy cảm khác.
  • Uy tín thương hiệu: Việc chiếm quyền miền phụ có thể gây thiệt hại nghiêm trọng đến uy tín và niềm tin của khách hàng đối với tổ chức.

Đã có các trường hợp ghi nhận các miền phụ của Microsoft bị tấn công do trỏ đến các dịch vụ Azure chưa được yêu cầu.

Các cấu hình sai phổ biến trong Azure dẫn đến khai thác

Bên cạnh các bản ghi DNS lơ lửng, nhiều cấu hình sai khác trong Azure cũng tạo cơ hội cho kẻ tấn công.

Nhóm bảo mật mạng (Network Security Groups – NSGs) được cấu hình sai

NSGs đóng vai trò là tường lửa ảo để kiểm soát lưu lượng truy cập vào và ra các tài nguyên Azure. Khi các quy tắc NSG được cấu hình quá rộng rãi, chúng có thể mở ra những lỗ hổng nghiêm trọng.

  • Quy tắc inbound quá rộng rãi: Cho phép lưu lượng truy cập từ bất kỳ địa chỉ IP nào (0.0.0.0/0 hoặc Any) trên các cổng dịch vụ quan trọng (ví dụ: SSH, RDP, SQL, HTTP/S) mà không có danh sách trắng IP (IP whitelisting) hoặc lọc TLS. Điều này cho phép kẻ tấn công dễ dàng quét và truy cập vào các tài nguyên nội bộ.
  • Thiếu kiểm soát truy cập theo ngữ cảnh: Không áp dụng các quy tắc bảo mật dựa trên vai trò người dùng hoặc ngữ cảnh ứng dụng, khiến các dịch vụ nhạy cảm dễ bị tấn công từ bên ngoài.

Kẻ tấn công khai thác các NSG cấu hình sai để xâm nhập mạng, thực hiện quét lỗ hổng và sau đó triển khai các cuộc tấn công sâu hơn vào hạ tầng.

Đặc quyền IAM (Identity and Access Management) quá mức và khoảng trống vai trò

Quyền truy cập là nền tảng của bảo mật đám mây. Các tài khoản người dùng, dịch vụ, và tự động hóa thường có thể giữ lại các quyền quá mức cần thiết, đặc biệt là các quyền ghi (write permissions) hoặc quyền quản trị (administrative rights) trên các tài nguyên quan trọng.

  • Vi phạm nguyên tắc đặc quyền tối thiểu (Least Privilege Principle): Thay vì cấp quyền tối thiểu cần thiết để thực hiện công việc, người dùng hoặc dịch vụ được cấp quyền quá rộng rãi (ví dụ: vai trò Contributor hoặc Owner không cần thiết).
  • Các vai trò còn sót lại: Sau khi một dự án hoặc tài khoản bị hủy kích hoạt, các vai trò và quyền của chúng có thể vẫn còn tồn tại, tạo ra các “cửa sau” cho kẻ tấn công.
  • Thiếu xác thực đa yếu tố (MFA): Nhiều tài khoản không được bảo vệ bằng MFA, khiến chúng dễ bị tấn công brute-force hoặc chiếm đoạt thông qua credential stuffing.

Các đặc quyền IAM quá mức cho phép kẻ tấn công thực hiện di chuyển ngang (lateral movement) trong môi trường đám mây, leo thang đặc quyền, và cuối cùng là đánh cắp dữ liệu nhạy cảm hoặc kiểm soát toàn bộ hạ tầng.

Các kho lưu trữ Blob/File không được bảo mật

Azure Storage Blobs và File Shares là các dịch vụ lưu trữ đối tượng và chia sẻ tệp phổ biến. Nếu không được cấu hình đúng cách, chúng có thể bị lộ ra ngoài Internet.

  • Tiếp xúc công khai: Các bộ chứa (containers) hoặc chia sẻ tệp (file shares) được cấu hình là công khai (publicly accessible) mà không có xác thực hoặc ủy quyền cần thiết.
  • Thiếu mã hóa: Dữ liệu không được mã hóa khi lưu trữ (encryption at rest) hoặc mã hóa khi truyền tải (encryption in transit) yếu kém.

Việc này cho phép kẻ tấn công đọc, ghi, hoặc sửa đổi dữ liệu, dẫn đến rò rỉ dữ liệu, gián điệp, hoặc thậm chí là mã hóa tống tiền (ransomware) bằng cách tải lên mã độc vào các kho lưu trữ công khai.

Các mối đe dọa từ tác nhân độc hại lợi dụng Microsoft Azure

Kẻ tấn công không chỉ khai thác các lỗ hổng mà còn lạm dụng các thể hiện (instances) Azure đã bị chiếm quyền hoặc cấu hình sai để phục vụ mục đích của chúng. Các thể hiện Azure bị tấn công có thể được sử dụng làm:

  • Nền tảng lưu trữ mã độc: Kẻ tấn công có thể tải lên và phân phối mã độc từ các tài nguyên Azure bị chiếm đoạt, lợi dụng độ tin cậy của địa chỉ IP Azure để tránh bị phát hiện.
  • Máy chủ Command & Control (C2): Các thể hiện Azure cung cấp cơ sở hạ tầng bền vững và đáng tin cậy cho máy chủ C2, giúp kẻ tấn công duy trì kết nối với các hệ thống bị xâm nhập và điều khiển các hoạt động độc hại.

Việc lạm dụng này thường thành công do thiếu sự quản lý chặt chẽ đối với các tài sản đám mây, cho phép triển khai cơ sở hạ tầng độc hại một cách liên tục và khó bị phát hiện.

Thống kê lỗ hổng tài sản đám mây

Nghiên cứu gần đây đã chỉ ra rằng một phần ba số lỗ hổng được tìm thấy trên các tài sản tiếp xúc với Internet được lưu trữ trên đám mây dễ dàng bị khai thác. Điều đáng báo động là phần lớn những lỗ hổng này không phải do lỗi cố hữu của nền tảng đám mây mà là do các cấu hình sai. Sự phức tạp của việc áp dụng đa đám mây (multi-cloud adoption) làm tăng đáng kể mức độ phức tạp và rủi ro nếu không được quản lý một cách hiệu quả, dẫn đến việc khó khăn trong việc duy trì cái nhìn tổng thể về bảo mật và quản lý cấu hình.

Kỹ thuật MITRE ATT&CK được đề cập / ngụ ý

Mặc dù tài liệu gốc không liệt kê rõ ràng các ID của MITRE ATT&CK, các kỹ thuật, chiến thuật và quy trình (TTPs) được mô tả ngụ ý một số kỹ thuật tấn công chính:

Mô tả kỹ thuậtID MITRE ATT&CK khả dĩ
Chiếm quyền miền phụ thông qua DNS lơ lửngT1583.001 (Acquire Infrastructure: Domains) – Kẻ tấn công thu thập hoặc đăng ký cơ sở hạ tầng, bao gồm tên miền, để sử dụng trong các hoạt động tấn công. Việc chiếm quyền miền phụ là một hình thức kiểm soát miền hợp pháp.
Khai thác quy tắc tường lửa NSG quá rộng rãiT1046 (Network Service Scanning) – Kẻ tấn công quét mạng để xác định các cổng và dịch vụ đang mở. Các quy tắc NSG lỏng lẻo tạo điều kiện cho hoạt động này.
T1071 (Application Layer Protocol) – Sử dụng các giao thức lớp ứng dụng tiêu chuẩn để giao tiếp, bao gồm cả việc xâm nhập ban đầu.
Đặc quyền IAM quá mức dẫn đến di chuyển ngangT1078 (Valid Accounts) – Kẻ tấn công có được quyền truy cập vào các tài khoản hợp lệ (ví dụ: thông qua chiếm đoạt hoặc khai thác đặc quyền quá mức) để truy cập hệ thống.
T1530 (Data from Cloud Storage Object) – Thu thập dữ liệu từ các đối tượng lưu trữ đám mây, được thực hiện dễ dàng hơn với các đặc quyền IAM mở rộng.
Sử dụng cơ sở hạ tầng đám mây bị xâm nhập để lưu trữ C2/Mã độcT1090.003 (Proxy: Multi-hop Proxy) – Sử dụng các proxy nhiều bước để ẩn danh và tránh bị phát hiện, thường thông qua các máy chủ trung gian bị chiếm đoạt.
T1105 (Ingress Tool Transfer) – Di chuyển các công cụ hoặc mã độc vào môi trường bị xâm nhập, thường sử dụng cơ sở hạ tầng đám mây đã được thiết lập.

Chỉ số thỏa hiệp (Indicators of Compromise – IOCs)

Mặc dù bài viết không cung cấp các hash tệp, URL cụ thể, ví dụ dòng lệnh hoặc tệp cấu hình, nhưng nó nhấn mạnh các chỉ số chính cần chú ý:

- Các bản ghi DNS lơ lửng trỏ đến các điểm cuối dịch vụ Azure chưa được yêu cầu.
- Các quy tắc inbound của NSG quá rộng rãi, thiếu danh sách trắng IP hoặc không thực thi TLS.
- Các vai trò IAM có đặc quyền quá mức với quyền ghi (write permissions) vẫn hoạt động sau khi triển khai.
- Các kho lưu trữ blob/file công khai mà không có kiểm soát truy cập hoặc mã hóa.
- Lưu lượng truy cập bất thường đến các miền phụ bị chiếm quyền.
- Hoạt động tài nguyên Azure không mong muốn, chẳng hạn như việc tạo các dịch vụ mới hoặc việc sử dụng tài nguyên tăng đột biến.

Các biện pháp giảm thiểu / Thực tiễn tốt nhất được khuyến nghị

Để giảm thiểu rủi ro từ các cấu hình sai trong Azure, các tổ chức cần áp dụng các biện pháp bảo mật chủ động và liên tục:

1.  Vệ sinh bản ghi DNS thường xuyên: Loại bỏ kịp thời các bản ghi CNAME/A cũ trỏ đến các tài nguyên đã bị xóa hoặc chưa được yêu cầu sau khi hủy kích hoạt dịch vụ. Tự động hóa quá trình này là rất quan trọng để đảm bảo không có bản ghi lơ lửng.

2.  Kiểm toán thường xuyên Nhóm bảo mật mạng (NSGs): Đảm bảo các quy tắc inbound của NSG tuân thủ nguyên tắc đặc quyền tối thiểu. Thực thi nghiêm ngặt danh sách trắng IP và bắt buộc sử dụng TLS cho tất cả các giao tiếp nhạy cảm. Áp dụng chính sách từ chối mặc định (deny-by-default) và chỉ cho phép các lưu lượng truy cập cần thiết.

3.  Thực thi nguyên tắc đặc quyền tối thiểu nghiêm ngặt trên tất cả người dùng/vai trò IAM: Sử dụng các vai trò được định nghĩa rõ ràng với quyền hạn cụ thể. Bắt buộc sử dụng xác thực đa yếu tố (MFA) cho tất cả các tài khoản. Sử dụng thông tin xác thực tạm thời (ephemeral credentials) và truy cập Just-In-Time (JIT) bất cứ khi nào có thể, đặc biệt đối với các vai trò có đặc quyền cao. Triển khai Quản lý Đặc quyền (Privileged Identity Management - PIM) để cấp quyền truy cập tạm thời cho các nhiệm vụ nhạy cảm.

4.  Bảo mật các kho lưu trữ Blob/File: Tắt quyền truy cập công khai trừ khi thực sự cần thiết và có lý do chính đáng. Kích hoạt mã hóa phía máy chủ (Server-Side Encryption - SSE) theo mặc định. Sử dụng các phương pháp xác thực mạnh mẽ như Shared Access Signatures (SAS) với thời gian hết hạn ngắn hoặc Private Endpoints để kiểm soát truy cập. Chuẩn hóa quy ước đặt tên và quản lý phiên bản để dễ dàng theo dõi và kiểm soát.

5.  Giám sát liên tục hoạt động bất thường: Thiết lập cảnh báo và giám sát để phát hiện các hoạt động bất thường, chẳng hạn như yêu cầu tài nguyên không mong muốn được liên kết với các miền/miền phụ lơ lửng, hoặc các mẫu truy cập bất thường vào các tài nguyên Azure.

6.  Sử dụng công cụ tự động hóa: Triển khai các công cụ/máy quét tự động tích hợp với nhật ký thời gian thực để phát hiện và khắc phục các cấu hình sai ngay lập tức trong môi trường. Các công cụ Cloud Security Posture Management (CSPM) có thể giúp tự động hóa việc kiểm toán cấu hình.

Bảng tóm tắt so sánh các rủi ro chính và biện pháp kiểm soát trong bối cảnh cấu hình sai Azure

Yếu tố rủi roMô tảKiểm soát/Giảm thiểu
Bản ghi DNS lơ lửngCác con trỏ miền bị bỏ hoang cho phép kẻ tấn công chiếm quyền.Loại bỏ kịp thời các bản ghi cũ.
Quy tắc NSG quá rộng rãiMở các cổng inbound/dải IP, tạo ra lỗ hổng.Thực thi nghiêm ngặt danh sách trắng IP + TLS.
Đặc quyền quá mứcQuyền ghi/quản trị không hạn chế cho người dùng/dịch vụ.Nguyên tắc đặc quyền tối thiểu + MFA + vai trò tạm thời.
Lưu trữ công khaiCác bộ chứa blob không được mã hóa/mở.Tắt quyền truy cập công khai + kích hoạt SSE.
Lạm dụng lưu trữ mã độc/C2Sử dụng các thể hiện bị chiếm quyền làm nền tảng tấn công.Giám sát các mẫu sử dụng + kiểm toán thường xuyên.

Việc hiểu rõ và chủ động đối phó với các cấu hình sai trong Microsoft Azure là vô cùng quan trọng để bảo vệ hạ tầng đám mây. Bằng cách áp dụng các thực tiễn tốt nhất và các biện pháp kiểm soát chặt chẽ, các tổ chức có thể giảm thiểu đáng kể bề mặt tấn công và bảo vệ tài sản kỹ thuật số của mình khỏi các mối đe dọa dai dẳng.