Storm-2949: Nhóm Hacker Biến MFA Thành “Chìa Khóa Vàng” Để Đánh Cắp Dữ Liệu Azure

Tóm tắt chiến dịch
Chiến dịch tấn công mới của nhóm threat actor Storm-2949 đã gióng lên hồi chuông cảnh báo về rủi ro của các tính năng tự phục vụ danh tính trong môi trường điện toán đám mây. Bằng cách lạm dụng tính năng Self-Service Password Reset (SSPR) kết hợp với các kỹ thuật tấn công xã hội nhắm vào nhân sự quản trị công nghệ và lãnh đạo cấp cao, Storm-2949 đã vượt qua thành công cơ chế xác thực đa yếu tố (MFA).
Hậu quả nghiêm trọng nhất của chiến dịch này là khả năng di chuyển ngang từ M365 SaaS sang hạ tầng quản trị Azure (Azure Control Plane). Kẻ tấn công lạm dụng các tính năng quản lý máy chủ như Azure VM extensions (Run Command, VMAccess) để cài đặt công cụ điều khiển từ xa (ScreenConnect), vô hiệu hóa Microsoft Defender và trích xuất dữ liệu nhạy cảm từ SQL Database, Key Vault và App Services.
Các doanh nghiệp đang vận hành hệ thống hỗn hợp trên Azure có nguy cơ bị xâm nhập rất lớn nếu cấu hình SSPR quá lỏng lẻo. Hành động khẩn cấp nhất lúc này là tắt tính năng tự đăng ký MFA mới mà không qua kiểm duyệt và giới hạn quyền hạn thực thi Run Command trên các máy ảo Azure.
Storm-2949 là ai?
Vì sao có tên “Storm”?
Microsoft sử dụng nhiều tiền tố khác nhau để phân loại threat actor: Storm-xxxx → nhóm đang theo dõi nhưng chưa xác định rõ nguồn gốc hoặc chưa đủ dữ liệu để gán thành APT chính thức. Volt / Midnight / Sandstorm / Blizzard… → các nhóm đã được xác định rõ hơn về nguồn gốc hoặc chiến dịch.
Do đó: “Storm-2949” nghĩa là một nhóm đang được Microsoft theo dõi tích cực cũng như chưa công khai liên hệ chính thức với quốc gia hay tổ chức cụ thể.
Mục tiêu chính
Theo Microsoft, Storm-2949 nhắm vào: tài khoản quản trị Azure, IT administrators, service accounts, tài khoản có quyền Owner/Contributor, nhân sự cấp cao và các tổ chức có dữ liệu cloud giá trị cao.
Mục tiêu cuối cùng thường là: đánh cắp dữ liệu, truy cập hạ tầng cloud, lấy secrets và credentials cuối cùng chúng sẽ thực hiện mở rộng quyền trong tenant Azure.
Đặc điểm hoạt động của Storm-2949
Khác với nhiều nhóm ransomware truyền thống, Storm-2949 không phụ thuộc chủ yếu vào malware. Thay vào đó, nhóm này: đánh cắp tài khoản, chiếm quyền MFA, lạm dụng Azure RBAC, thao túng Microsoft Entra ID, sử dụng API hợp pháp của cloud. Mục tiêu của nhóm đó là kiểm soát “danh tính” để kiểm soát toàn bộ hạ tầng cloud.
Storm-2949 nổi bật ở việc: không cần exploit zero-day, không cần malware phức tạp cũng như không cần persistence truyền thống. Theo các báo cáo được ghi nhận thì nhóm này thường xuyên sử dụng các tính năng hợp pháp trong Azure để thực hiện như: Microsoft Graph API, Azure management plane, Kudu console, Azure Run Command, VM extensions, publishxml/action, Key Vault access.
Điều này vô tình khiến hoạt động của chúng rất khó phân biệt với admin thật, khó bị EDR phát hiện và đặc biệt khó tạo IOC truyền thống.
Kỹ thuật Social Engineering rất mạnh
Một trong những điểm nguy hiểm nhất là Storm-2949 kết hợp hoàn hảo giữa các công cụ cũng như tính năng: SSPR abuse, MFA fatigue, voice phishing (vishing), impersonation IT support.
Tin tặc thường: kích hoạt reset mật khẩu, gọi điện giả danh IT, yêu cầu nạn nhân approve MFA, takeover tài khoản trong vài phút.
Timeline sự kiện
| Mốc thời gian | Giai đoạn tấn công | Hoạt động cụ thể của Storm-2949 |
|---|---|---|
| Ngày 1 | Initial Access | Lạm dụng SSPR và social engineering để chiếm tài khoản quản trị Entra ID đầu tiên; đăng ký thiết bị Authenticator của attacker. |
| Ngày 1 (sau 2h) | Directory Discovery | Sử dụng Graph API và Python script tùy biến để quét toàn bộ người dùng, nhóm và ứng dụng trong tenant. |
| Ngày 1 (sau 4h) | SaaS Data Theft | Xâm nhập OneDrive/SharePoint, tải hàng ngàn tài liệu cấu hình VPN và sơ đồ mạng IT. |
| Ngày 2 | lateral Movement (Cloud) | Dùng quyền RBAC của tài khoản bị chiếm để đọc file PublishXML qua API publishxml/action, truy cập Kudu Console trên Azure App Services. |
| Ngày 2 (sau 1h) | Credential Access | Pivoting sang Azure Key Vault bằng tài khoản có quyền Owner; thay đổi cấu hình truy cập và đánh cắp hàng chục database connection strings chỉ trong 4 phút. |
| Ngày 3 - 5 | Data Exfiltration | Thay đổi IP firewall của Azure SQL và Storage Accounts; dùng Python script tải lượng lớn Blobs bằng SAS Tokens và Access Keys. |
| Ngày 5 | Persistence & Evasion | Sử dụng VMAccess và Run Command trên Azure VMs để tạo local admin backdoor; vô hiệu hóa Microsoft Defender Antivirus; cài đặt ScreenConnect. |
| Ngày 6 | Cleanup & Discovery | Thu thập .pfx certificate từ VM; quét file chứa password; xóa Windows Event Logs và dấu vết thực thi lệnh trên host. |
Phân tích kỹ thuật chi tiết
Initial Access & MFA Bypass qua lạm dụng SSPR
Chúng tôi nhận thấy Storm-2949 không sử dụng các bộ công cụ phishing trung gian (Adversary-in-the-Middle - AitM) thông thường mà khai thác trực tiếp luồng Tự thiết lập lại Mật khẩu (Self-Service Password Reset - SSPR) của Microsoft.
Kẻ tấn công thu thập danh sách email của các nhân sự IT cấp cao và ban lãnh đạo, sau đó chủ động kích hoạt quy trình SSPR trên cổng đăng nhập Microsoft.
Ngay lập tức, chúng thực hiện cuộc gọi mạo danh (vishing) bộ phận IT Support nội bộ hoặc bộ phận hỗ trợ kỹ thuật của Microsoft, liên hệ với nạn nhân dưới lý do "xác minh tài khoản khẩn cấp do phát hiện hoạt động đăng nhập đáng ngờ".
Nạn nhân vô ý nhấn phê duyệt (approve) trên ứng dụng Microsoft Authenticator.
Sau khi vượt qua MFA, Storm-2949 tiến hành đặt lại mật khẩu mới, đồng thời xóa toàn bộ các phương thức xác thực đã đăng ký trước đó của nạn nhân (số điện thoại, email khôi phục).
Kẻ tấn công đăng ký một thiết bị Authenticator hoàn toàn mới do chúng kiểm soát. Bằng cách này, chúng thiết lập quyền truy cập vĩnh viễn và khóa hoàn toàn tài khoản của người dùng hợp lệ khỏi hệ thống.
Entra ID & Microsoft Graph API
Sau khi chiếm đoạt thành công danh tính, Storm-2949 nhanh chóng chuyển sang giai đoạn trinh sát thư mục. Thay vì thực hiện thủ công trên giao diện Azure Portal, kẻ tấn công tự động hóa hoạt động bằng một Python script tùy biến gọi trực tiếp đến Microsoft Graph API.
Script này thực hiện truy vấn hàng loạt để liệt kê danh sách người dùng trong hệ thống Entra ID, nhận diện các tài khoản có gán vai trò quản trị (Privileged Roles), cũng như tìm kiếm các ứng dụng (Applications) và các tài khoản dịch vụ (Service Principals) hiện hoạt. Trong quá trình này, kẻ tấn công đã cố gắng thêm một thông tin xác thực (credential) mới vào một Service Principal nhằm tạo dựng kênh truy cập dự phòng nhưng hành động này đã thất bại do tài khoản bị chiếm đoạt không đủ quyền hạn. Dù vậy, chúng nhanh chóng tiếp tục lạm dụng kỹ thuật vishing/SSPR nêu trên để chiếm thêm ba tài khoản quản trị khác.
Đột nhập OneDrive/SharePoint thu thập thông tin mạng
Trước khi tấn công sâu hơn vào cloud infrastructure, Storm-2949 tập trung khai thác tài nguyên lưu trữ SaaS của nạn nhân. Sử dụng các tài khoản bị chiếm đoạt, chúng truy cập vào OneDrive và SharePoint Online để tìm kiếm các tài liệu kỹ thuật chứa các từ khóa nhạy cảm liên quan đến sơ đồ mạng, tài liệu thiết lập VPN, và các quy trình truy cập từ xa.
Đội ngũ phân tích nhận định đây là bước chuẩn bị quan trọng nhằm phục vụ cho ý đồ dịch chuyển ngang (lateral movement) từ môi trường cloud ngược trở lại mạng nội bộ (on-premises) của doanh nghiệp. Sau khi định vị được các thư mục chứa tài liệu CNTT nhạy cảm, kẻ tấn công thực hiện tải xuống hàng loạt (mass download) hàng ngàn file tài liệu trực tiếp về máy của chúng thông qua giao diện OneDrive Web.
Tấn công hạ tầng Azure App Services & Kudu Console
Sử dụng các tài khoản quản trị đã chiếm đoạt vốn có quyền Role-Based Access Control (RBAC) rất cao trên các Azure Subscriptions sản xuất, Storm-2949 chuyển mục tiêu sang các dịch vụ đám mây thuộc tầng PaaS và IaaS. Kẻ tấn công ban đầu nhắm vào một ứng dụng web chạy trên dịch vụ Azure App Service chứa dữ liệu nhạy cảm nhưng gặp phải rào cản từ các chính sách hạn chế IP mạng của ứng dụng.
Để vượt qua rào cản này, kẻ tấn công chuyển hướng sang các ứng dụng phụ trợ (auxiliary web apps) nằm chung trong hệ sinh thái nhưng có chính sách bảo mật lỏng lẻo hơn. Storm-2949 lạm dụng API quản trị của Azure để gọi hàm:
API này cho phép xuất cấu hình PublishXML của ứng dụng web, chứa các thông tin đăng nhập dạng cơ bản (Basic Authentication credentials) phục vụ cho Web Deploy và FTP. Có được thông tin này, kẻ tấn công đăng nhập thẳng vào Kudu Console - một giao diện quản trị nâng cao tích hợp sẵn của Azure App Service. Kudu Console cung cấp cho kẻ tấn công một shell thực thi lệnh trực tiếp, quyền duyệt hệ thống tệp tin và đọc toàn bộ biến môi trường (environment variables) chứa các bí mật ứng dụng mà không cần đi qua các cổng bảo vệ thông thường.
Chiếm đoạt Secrets trong Azure Key Vault
Khi đã hiểu rõ kiến trúc của ứng dụng thông qua Kudu Console, Storm-2949 phát hiện ra một tài khoản quản trị bị chiếm đoạt đang giữ vai trò Owner trên một Azure Key Vault chứa các credentials cốt lõi của hệ thống sản xuất.
Trong vòng đúng 4 phút, kẻ tấn công thực hiện thay đổi cấu hình chính sách truy cập (Access Policies) của Key Vault để cấp quyền cho chính chúng, sau đó truy vấn hàng loạt toàn bộ các bí mật được lưu trữ tại đây:
Trích xuất hàng chục chuỗi kết nối cơ sở dữ liệu (Database Connection Strings).
Đánh cắp các API Keys của dịch vụ liên kết.
Lấy thông tin đăng nhập của tài khoản quản trị ứng dụng web chính.
Ngay sau khi có được credentials này, kẻ tấn công đăng nhập thành công vào ứng dụng web sản xuất mà chúng nhắm tới từ ban đầu, lập tức thay đổi mật khẩu của ứng dụng để duy trì kiểm soát độc quyền và bắt đầu rút cạn dữ liệu từ ứng dụng này.
Chỉnh sửa cấu hình tường lửa để rút cạn Azure SQL & Storage Accounts
Nhằm thực hiện ý đồ đánh cắp dữ liệu trên quy mô lớn từ các kho lưu trữ backend, Storm-2949 tiếp tục tận dụng đặc quyền RBAC để can thiệp trực tiếp vào cấu hình mạng của Azure SQL Server và Azure Storage Accounts.
Đối với dịch vụ Azure SQL Server, kẻ tấn công thực hiện hành vi thay đổi luật tường lửa thông qua lệnh ghi:
Hoạt động này đăng ký IP của kẻ tấn công vào danh sách cho phép kết nối trực tiếp đến cơ sở dữ liệu. Storm-2949 sau đó sử dụng các credentials lấy được từ Key Vault để đăng nhập vào cơ sở dữ liệu, trích xuất thông tin nhạy cảm. Để xóa dấu vết, chúng thực hiện xóa các luật tường lửa này ngay sau khi hoàn tất phiên kết nối.
Đối với Azure Storage Accounts, kẻ tấn công cũng áp dụng thủ thuật tương tự bằng cách thay đổi thiết lập tường lửa của Storage để cho phép truy cập công khai (public access) từ một nhóm IP do chúng kiểm soát. Đồng thời, kẻ tấn công gọi API:
Để lấy về các Storage Account Keys và sinh ra các chuỗi chữ ký truy cập dùng chung (Shared Access Signature - SAS) nhằm thiết lập kênh truy cập tĩnh, không tương tác. Kẻ tấn công chạy một Python script tùy biến sử dụng thư viện Azure SDK for Storage trên máy của chúng để duyệt qua cấu trúc Blobs và tự động tải về toàn bộ các tài liệu lưu trữ kinh doanh quan trọng trong nhiều ngày liên tiếp.
Abuse VM Extensions & triển khai ScreenConnect Backdoor
Song song với việc trích xuất dữ liệu, Storm-2949 cố gắng mở rộng vùng kiểm soát sang tầng IaaS bằng cách tấn công các máy ảo Azure Virtual Machines (VMs).
Kẻ tấn công lạm dụng hai tính năng quản trị hệ thống rất phổ biến là VMAccess và Run Command:
Lạm dụng VMAccess: Kẻ tấn công đẩy cấu hình extension VMAccess lên VM để reset mật khẩu và tạo mới một tài khoản quản trị local (local administrator account) trên máy ảo này, mở đường cho việc đăng nhập trực tiếp qua cổng RDP/SSH.
Lạm dụng Run Command: Sử dụng tính năng Run Command để chạy một PowerShell script ở mức đặc quyền SYSTEM trên hệ điều hành của VM mà không cần thông qua mạng nội bộ. Kẻ tấn công cố gắng truy vấn dịch vụ Azure Instance Metadata Service (IMDS) tại địa chỉ IP tĩnh
169.254.169.254nhằm lấy cắp token của Managed Identity gắn với VM này để leo thang đặc quyền ngược lại Key Vault, tuy nhiên nỗ lực này thất bại do Managed Identity của VM không được cấp quyền truy cập Key Vault từ trước.
Để duy trì quyền kiểm soát lâu dài trên VM và ngăn chặn sự phát hiện của đội ngũ SOC, PowerShell script được thực thi qua Run Command thực hiện hàng loạt hành vi phá hoại hệ thống phòng thủ:
Set-MpPreference -DisableRealtimeMonitoring $true
Set-MpPreference -DisableBehaviorMonitoring $true
Sau khi vô hiệu hóa thành công các tính năng bảo vệ thời gian thực và giám sát hành vi của Microsoft Defender Antivirus, kẻ tấn công tải về và cài đặt phần mềm quản trị từ xa ScreenConnect (RMM) từ máy chủ điều khiển (C2) của chúng. Công cụ này được ngụy trang cẩn thận dưới dạng các file hệ thống hợp lệ, đồng thời dịch vụ ScreenConnect được đổi tên để giả lập các thành phần hệ điều hành Windows mặc định.
Thông qua ScreenConnect, kẻ tấn công thực hiện thám sát sâu hơn trong phân vùng domain nội bộ, tìm kiếm các file chia sẻ chung (file shares) chứa mật khẩu dạng rõ (clear-text) và xuất các file chứng thư số dạng .pfx chứa khóa riêng (private keys) để phục vụ cho các đợt tấn công tiếp theo. Trước khi kết thúc phiên hoạt động, kẻ tấn công chạy lệnh xóa toàn bộ Windows Event Logs, lịch sử dòng lệnh (PowerShell history) và các thư mục tạm nhằm gây khó khăn tối đa cho công tác điều tra số (forensics).
IOC
IP Addresses
176.123.4[.]44
91.208.197[.]87
185.241.208[.]243
MITRE ATT&CK
| Tactic | Technique ID | Technique Name | Mô tả hoạt động thực tế của Storm-2949 |
|---|---|---|---|
| Initial Access | T1566 | Phishing | Sử dụng các cuộc gọi vishing thuyết phục người dùng phê duyệt MFA. |
| T1078.004 | Valid Accounts: Cloud Accounts | Lạm dụng tài khoản Entra ID hợp lệ sau khi chiếm đoạt thành công. | |
| Execution | T1059.001 | PowerShell | Chạy các lệnh tắt Defender và cài đặt ScreenConnect trên VM. |
| T1609 | Charting / Cloud Administration Command | Sử dụng tính năng Run Command của Azure để thực thi script ở mức hệ điều hành. | |
| Persistence | T1098.005 | Account Manipulation: Device Registration | Đăng ký thiết bị Authenticator mới của kẻ tấn công vào tài khoản Entra ID. |
| T1136.003 | Create Account: Cloud Account | Sử dụng VMAccess để tạo tài khoản quản trị cục bộ mới trên Azure VM. | |
| Defense Evasion | T1562.001 | Impair Defenses: Disable or Modify Tools | Tắt tính năng Real-time & Behavior Monitoring của Windows Defender. |
| T1070.001 | Indicator Removal: Clear Windows Event Logs | Xóa Event Logs và lịch sử lệnh trên máy ảo bị chiếm đoạt. | |
| T1564.001 | Hide Artifacts: Service Masquerading | Đổi tên dịch vụ ScreenConnect để giả mạo tiến trình Windows hợp lệ. | |
| Credential Access | T1555.004 | Credentials from Password Stores: Private Keys | Xuất các chứng thư số .pfx nhạy cảm từ hệ thống máy ảo. |
| T1528 | Steal Application Access Token | Yêu cầu token IMDS qua địa chỉ 169.254.169.254 nhằm truy cập Key Vault. |
|
| T1212 | Exploitation for Credential Access | Xuất PublishXML để lấy mật khẩu Deploy của Azure App Services. | |
| Collection | T1114.002 | Email Collection: Cloud Email | Thu thập thông tin nhạy cảm từ các dịch vụ SaaS. |
| T1213 | Data from Information Repositories | Đột nhập OneDrive và SharePoint tải hàng ngàn tài liệu cấu hình VPN. | |
| Exfiltration | T1020 | Automated Exfiltration | Sử dụng Python script tự động tải blobs và cơ sở dữ liệu qua IP tường lửa đã mở. |
Nhận định chuyên gia
Cuộc tấn công của Storm-2949 thể hiện mức độ trưởng thành vượt trội về mặt kỹ thuật và phản ánh một xu hướng lớn trong thế giới an ninh mạng: Sự chuyển dịch mục tiêu từ Endpoint vật lý sang Control Plane của các đám mây. Kẻ tấn công không cần viết ra những đoạn mã độc phức tạp hay khai thác các lỗ hổng zero-day trên hệ điều hành; thay vào đó, chúng nghiên cứu cực kỳ kỹ lưỡng cơ chế vận hành của nền tảng Azure, lạm dụng các tính năng quản trị hợp lệ vốn được sinh ra để hỗ trợ các kỹ sư IT (như SSPR, Run Command, Kudu Console, hay VMAccess).
Đội ngũ phân tích nhận thấy, tại thị trường Việt Nam, xu hướng dịch chuyển hạ tầng lên đám mây (Cloud Migration) đang diễn ra vô cùng mạnh mẽ nhưng nhận thức về an toàn thông tin đám mây thường chưa tương xứng:
Ngộ nhận về trách nhiệm bảo mật: Nhiều tổ chức cho rằng khi đã đưa hệ thống lên Azure hoặc AWS, nhà cung cấp dịch vụ cloud sẽ chịu trách nhiệm bảo vệ toàn bộ. Thực tế, mô hình trách nhiệm chia sẻ (Shared Responsibility Model) quy định rất rõ: nhà cung cấp chỉ bảo vệ hạ tầng vật lý (Security OF the Cloud), còn việc cấu hình an toàn cho danh tính, phân quyền RBAC và bảo vệ dữ liệu (Security IN the Cloud) hoàn toàn thuộc về doanh nghiệp.
Lạm dụng đặc quyền và lỗ hổng giám sát: Việc gán vai trò Owner hoặc Contributor trực tiếp cho các tài khoản cá nhân trên Azure Subscription diễn ra phổ biến. Khi các tài khoản này bị chiếm đoạt thông qua MFA fatigue hoặc vishing, toàn bộ hệ thống PaaS và IaaS lập tức sụp đổ. Điều đáng ngại hơn là các hệ thống giám sát SOC truyền thống chỉ tập trung thu thập log từ Endpoint/OS thường sẽ hoàn toàn "mù" trước các hành vi thay đổi chính sách Key Vault, xuất PublishXML hay sửa luật tường lửa Azure Storage – vốn là các hành động hợp lệ ở tầng Management Plane.
Chiến dịch của Storm-2949 là lời cảnh tỉnh sâu sắc: Để bảo vệ đám mây, các tổ chức bắt buộc phải có tầm nhìn tương quan (correlated visibility) trên cả 3 trụ cột: Identity (Entra ID), Control Plane (Azure Activity logs) và Endpoint (EDR trên VMs).
Khuyến nghị
Hành động khẩn cấp (Ngay lập tức - 24h)
Triển khai Phishing-Resistant MFA: Cấu hình chính sách yêu cầu bắt buộc sử dụng các phương thức MFA chống tấn công lừa đảo (như khóa bảo mật vật lý FIDO2 hoặc Windows Hello for Business) đối với mọi tài khoản giữ vai trò quản trị viên (Global Admin, Subscription Owner/Contributor).
Kiểm tra thiết bị đăng ký MFA: Thực hiện rà soát danh sách toàn bộ các thiết bị (Entra ID Joined/Registered Devices) được gán với các tài khoản quản trị để phát hiện và thu hồi các thiết bị lạ đăng ký bất thường.
Rà soát hoạt động SSPR: Truy vấn log đăng nhập để tìm kiếm các sự kiện tự đặt lại mật khẩu (SSPR) thành công liên tiếp, theo sau đó là hành động đăng ký phương thức xác thực mới hoặc thay đổi thông tin xác thực của Service Principals.
Hành động ngắn hạn (Trong vòng 1 - 7 ngày)
Cô lập cấu hình Key Vault & Storage Accounts:
Cấm hoàn toàn việc truy cập công khai (Public Network Access) vào Azure Key Vault, Azure SQL và Azure Storage. Thay thế bằng cơ chế Private Endpoints nhằm giới hạn quyền truy cập chỉ từ các mạng ảo nội bộ tin cậy (VNETs).
Kích hoạt tính năng chống xóa mềm (Purge Protection) và bảo vệ xóa tạm thời (Soft Delete) trên Azure Key Vault với chu kỳ lưu giữ tối thiểu 90 ngày.
Rà soát và Phân rã quyền RBAC:
Tuyệt đối không sử dụng quyền Owner trực tiếp cho các công việc vận hành hàng ngày. Thay thế bằng mô hình cấp quyền vừa đủ (Just-In-Time - JIT) thông qua công cụ Entra Privileged Identity Management (PIM).
Tách biệt vai trò quản trị hạ tầng (Subscription Admin) và vai trò quản trị khóa (Key Vault Secrets Officer).
Giám sát hoạt động nhạy cảm trên Management Plane: Cấu hình các cảnh báo bảo mật thời gian thực (KQL alerts) trong hệ thống SIEM/Microsoft Sentinel khi phát hiện các hoạt động gọi API quản trị bất thường như:
microsoft.Web/sites/publishxml/actionmicrosoft.Storage/storageAccounts/listkeys/actionmicrosoft.sql/servers/firewallrules/write
Kế hoạch dài hạn (Đảm bảo kiến trúc an toàn bền vững)
Chuyển đổi sang Managed Identities: Loại bỏ hoàn toàn việc lưu trữ các tài khoản tĩnh (username/password) hay các chuỗi kết nối (connection strings) cứng trong mã nguồn hoặc file cấu hình ứng dụng web. Chuyển sang sử dụng System-Assigned/User-Assigned Managed Identities để xác thực tự động giữa các tài nguyên Azure (ví dụ: từ App Service kết nối đến Key Vault/Storage).
Lưu trữ Log tập trung tối thiểu 1 năm: Cấu hình xuất nhật ký hoạt động (Azure Activity Logs, Key Vault Diagnostic Logs, App Service Logs) về một kho lưu trữ tập trung (Log Analytics Workspace) và duy trì thời gian lưu trữ tối thiểu 1 năm phục vụ công tác điều tra sự cố khi có bất thường xảy ra.
Triển khai kiến trúc Zero Trust: Liên tục đánh giá độ an toàn cấu hình đám mây bằng các giải pháp CSPM (Cloud Security Posture Management) để phát hiện sớm các cấu hình lỏng lẻo (misconfigurations) trước khi bị kẻ tấn công khai thác.
Tham khảo
Microsoft Self-Service Password Reset abused in Azure data theft attacks
How Storm-2949 turned a compromised identity into a cloud-wide breach | Microsoft Security Blog





