Một số biện pháp ngăn ngừa rủi ro khi sử dụng nền tảng Google Cloud | CMC Telecom

Một số biện pháp ngăn ngừa rủi ro khi sử dụng nền tảng Google Cloud

Jun 22, 2026
-
93 views

Tóm tắt nội dung

Bài viết phân tích các rủi ro bảo mật phổ biến khi sử dụng Google Cloud Platform (GCP), trong đó 86% trường hợp bị xâm phạm được dùng để khai thác tiền điện tử (Cryptojacking). Nguyên nhân chính bao gồm: mật khẩu yếu (48%), lỗ hổng phần mềm bên thứ ba (26%), và rò rỉ thông tin đăng nhập trên GitHub (4%). Bài viết đi sâu vào vấn đề rò rỉ Service Account key, một trong những nguyên nhân nghiêm trọng nhất và đồng thời hướng dẫn cách khắc phục khi bị tấn công và các biện pháp phòng ngừa bao gồm: sử dụng Workload Identity Federation, áp dụng nguyên tắc quyền tối thiểu, mã hóa key bằng Cloud Secret Manager, thiết lập Organization Policies và Quotas.

Phần 1: Rủi ro rò rỉ thông tin khi sử dụng Google Cloud

Theo báo cáo mới nhất của Đội Hành động An ninh mạng từ CMC Telecom, 86% trong số tài khoản Google Cloud bị hack gần đây được dùng để đào tiền mã hóa. Các hacker đã tải phần mềm đào tiền xuống trong vòng 22 giây sau khi hack thành công tài khoản. Nếu tài khoản Google Cloud bị hack để đào tiền ảo, người dùng sẽ phải trả phí tăng vọt (có thể lên đến hàng tỷ đồng) trong thời gian ngắn và có thể bị mất dữ liệu quan trọng.

Các nguyên nhân chính bị tấn công

  • Người dùng sử dụng mật khẩu yếu, không có mật khẩu cho tài khoản người dùng hoặc kết nối API (48%). Đây là lỗi phổ biến của nhiều người dùng khi không chú ý đến việc bảo vệ thông tin đăng nhập của mình. Các hacker có thể dễ dàng đoán được hoặc lấy cắp được mật khẩu của người dùng và truy cập vào tài khoản GCP của họ.
  • Lỗ hổng trong phần mềm của bên thứ ba được cài đặt trên cloud (26%). Nhiều người dùng sử dụng các phần mềm của bên thứ ba để quản lý hay tương tác với GCP, nhưng không kiểm tra hay cập nhật phiên bản mới nhất của phần mềm. Điều này có thể tạo ra các lỗ hổng bảo mật cho phép các hacker khai thác và xâm nhập vào hệ thống.
  • Rò rỉ thông tin đăng nhập trong các dự án trên GitHub (4%). Một số người dùng không cẩn thận khi chia sẻ mã nguồn của các dự án liên quan đến GCP trên GitHub, một nền tảng lưu trữ mã nguồn phổ biến. Các hacker có thể tìm kiếm và thu thập được các thông tin đăng nhập trong các mã nguồn này và sử dụng chúng để truy cập vào GCP.

Service Account, mục tiêu hàng đầu

Service account là một loại tài khoản đặc biệt trên Google Cloud Platform (GCP) được sử dụng để xác thực và ủy quyền cho các ứng dụng và dịch vụ. Service account có thể được tạo và quản lý bởi người dùng hoặc bởi Google.

Một trong những cách phổ biến để cho phép một ứng dụng xác thực như một service account là tạo một khóa service account key và sử dụng nó để lấy các mã thông báo truy cập OAuth 2.0. Có một số cách mà hacker có thể có được thông tin service account, chẳng hạn như:

  • Tìm kiếm và thu thập các khóa bí mật của service account trong các mã nguồn hay tệp tin được chia sẻ công khai trên Internet. Các khóa bí mật là các tệp JSON hoặc P12 chứa các thông tin nhận dạng của service account. Nếu hacker có được các khóa bí mật này, họ có thể sử dụng chúng để xác thực và truy cập vào GCP bằng service account.
  • Khai thác các lỗ hổng bảo mật trong các ứng dụng hay máy ảo sử dụng service account. Nếu hacker có thể xâm nhập vào các ứng dụng hay máy ảo này, họ có thể đọc được các thông tin về service account từ các biến môi trường hay metadata server. Họ cũng có thể sử dụng service account để gọi các API của Google và thực hiện các hoạt động không mong muốn.
  • Sử dụng các kỹ thuật phishing hay social engineering để lừa đảo người dùng cung cấp thông tin đăng nhập của service account. Hacker có thể giả danh là nhân viên của Google hay một tổ chức nào đó và gửi email hay tin nhắn cho người dùng, yêu cầu họ nhập thông tin đăng nhập của service account vào một trang web giả mạo. Sau đó, hacker sẽ lấy được thông tin đăng nhập và sử dụng chúng để truy cập vào GCP.

Cryptojacking, hậu quả khi bị lộ Service Account

Việc bị lộ Service Account sẽ tạo điều kiện cho các hacker có thể thâm nhập vào hệ thống GCP để từ đó có thể tận dụng tài nguyên để khai thác tiền điện tử. Cách thức này được gọi là Cryptojacking. Để sử dụng service account bị lộ để khai thác tiền điện tử, hacker có thể làm như sau:

  • Sử dụng các khóa bí mật (secret key) của service account để xác thực và truy cập vào GCP bằng các công cụ như gcloud hay gsutil. Sau đó, hacker có thể tạo ra hoặc sử dụng các máy ảo có sẵn trên GCP và cài đặt các phần mềm khai thác tiền điện tử vào chúng. Hacker cũng có thể sử dụng các quyền truy cập của service account để gọi các API của Google và tạo ra các tài nguyên mới trên GCP.
  • Khai thác các lỗ hổng bảo mật trong các ứng dụng hay máy ảo sử dụng service account. Nếu hacker có thể xâm nhập vào các ứng dụng hay máy ảo này, họ có thể sử dụng service account để truy cập vào metadata server và lấy được các thông tin về service account từ đó. Họ cũng có thể sử dụng service account để cài đặt các phần mềm khai thác tiền điện tử vào các ứng dụng hay máy ảo.

Nguyên nhân dẫn đến rò rỉ Service Account

Nguyên nhân chính của việc lộ thông tin service account là do việc quản lý không an toàn của service account key. Có nhiều trường hợp có thể dẫn đến việc này, ví dụ:

  • Sử dụng Terraform để triển khai các tài nguyên GCP và không mã hóa hoặc loại bỏ các service account key khỏi các tệp cấu hình.
  • Vô tình public các service account key lên Github hoặc các nền tảng lưu trữ mã nguồn công khai khác.
  • Chia sẻ các service account key qua email, chat hoặc các kênh truyền thông không an toàn (Zalo, Facebook, Telegram…).
  • Sử dụng cùng một service account key cho nhiều ứng dụng hoặc môi trường khác nhau.

Đây là một vấn đề an ninh nghiêm trọng và có thể gây ra thiệt hại lớn cho người dùng GCP. Trong phần 2, CMC sẽ đưa ra cách khắc phục hậu quả và cách phòng ngừa vấn đề này.


Phần 2: Biện pháp khắc phục và phòng ngừa

Xử lý khẩn cấp khi bị tấn công

Nếu phát hiện ra service account key đã bị lộ, những việc sau cần xử lý ngay lập tức:

  1. Disable/Delete service account nghi ngờ bị hack: Vào IAM & Admin > Service Accounts > Chọn service account > Chọn Disable hoặc Delete.
  2. Kiểm tra xem service account đó đã được sử dụng để làm gì trên GCP: Vào IAM & Admin > Audit Logs > Chọn Resource Type là Service Account > Chọn Resource Name là email của service account > Xem các hành động đã được ghi lại.
  3. Xóa các tài nguyên GCP không mong muốn hoặc bị tạo ra bởi hacker. Bạn có thể làm điều này bằng cách vào các dịch vụ như Compute Engine:
    • Sử dụng Google Cloud Console: vào trang VM Instances trong Google Cloud Console, chọn các VMs muốn xóa > Delete.
    • Sử dụng Google Cloud CLI: sử dụng lệnh gcloud compute instances delete và cung cấp các tên của các VMs muốn xóa. Có thể sử dụng các tùy chọn như --zone, --quiet, --delete-disks để điều chỉnh việc xóa. Ví dụ:
      gcloud compute instances delete vm1 vm2 vm3 --zone us-central1-a --quiet --delete-disks all
  4. Liên hệ với bộ phận hỗ trợ của CMC Telecom báo cáo vấn đề để có thể hỗ trợ liên lạc với Google trong trường hợp bị hack.

Các biện pháp phòng ngừa

Để ngăn chặn việc lộ thông tin service account trong tương lai, các biện pháp sau cần được áp dụng:

  • Hạn chế sử dụng service account key. Nên sử dụng các phương thức xác thực khác như workload identity federation(*), service account impersonation(**) hoặc gắn service account vào các tài nguyên chạy ứng dụng. Những phương thức này sẽ giảm rủi ro của việc quản lý và lưu trữ service account key.

    (*) Workload identity federation là một tính năng cho phép bạn xác thực như một service account từ một workload bên ngoài GCP. Sử dụng workload identity federation để liên kết một identity provider với một service account và cho phép workload yêu cầu mã thông báo truy cập từ identity provider. Điều này sẽ giúp loại bỏ việc sử dụng và quản lý service account key cho các workload bên ngoài GCP.

    (**) Service account impersonation là một tính năng cho phép xác thực như một service account từ một người dùng hoặc một service account khác. Sử dụng service account impersonation để ủy quyền cho một người dùng hoặc một service account khác để thực hiện các hành động thay mặt cho một service account. Điều này sẽ giúp kiểm soát quyền truy cập của service account và tránh việc phân phối service account key cho nhiều người dùng hoặc service account khác.

  • Giới hạn quyền của service account theo nguyên tắc nhỏ nhất (principle of least privilege). Chỉ cấp cho service account những vai trò (role) cần thiết để thực hiện công việc của nó. Điều này sẽ giảm thiểu khả năng bị tấn công và thiệt hại nếu service account bị lộ.
  • Giới hạn số lượng và thời hạn của service account key. Chỉ tạo ra số lượng service account key cần thiết và đặt thời hạn cho chúng. Nên xoá các service account key không sử dụng hoặc đã hết hạn.
  • Mã hóa và bảo mật các service account key khi lưu trữ hoặc truyền tải. Sử dụng các công cụ như Cloud KMS, Cloud Secret Manager, Cloud Storage hoặc Cloud Build để mã hóa và quản lý các service account key một cách an toàn. Tránh gửi hoặc chia sẻ các service account key qua các kênh không được bảo mật.

    Thiết lập Cloud Secret Manager:

    Cloud Secret Manager là một dịch vụ của GCP cho phép quản lý, lưu trữ, và quản lý các bí mật nhạy cảm như mật khẩu, khóa mã hóa, hoặc các giá trị đăng nhập. Bạn có thể sử dụng Cloud Secret Manager để bảo mật các thông tin nhạy cảm liên quan đến Service Account, và có thể tích hợp nó vào Terraform để quản lý các tài nguyên trong GCP. Dưới đây là các bước để tạo và sử dụng Cloud Secret Manager trong Terraform:

    Bước 1: Tạo và lưu trữ secret value trong Cloud Secret Manager

    Bước 2: Đọc secret value từ Cloud Secret Manager trong Terraform:

    Sử dụng google_secret_manager_secret_version resource trong Terraform để đọc giá trị bí mật từ Cloud Secret Manager. Định nghĩa resource tương ứng với bí mật và phiên bản của nó trong Terraform. Ví dụ:

    resource "google_secret_manager_secret_version" "my_service_account_key" {
      secret  = "my-service-account-key"
      version = "latest"
    }
  • Đào tạo nhân viên: Đây là một yếu tố rất quan trọng trong việc phòng ngừa các sự cố bảo mật. Cần đảm bảo rằng nhân viên được đào tạo về các quy tắc bảo mật, quy trình an toàn, và phòng ngừa các rủi ro bảo mật, bao gồm cả việc không chia sẻ hoặc lưu trữ thông tin Service Account trên các nền tảng công khai như Github.
  • Thiết lập các Organization Policies và Quota để kiểm soát việc sử dụng tài nguyên trên GCP:

    Thiết lập Organization Policies

    Bước 1: Vào trang Organization Policies trong Google Cloud Console.

    Bước 2: Chọn tổ chức hoặc project muốn áp dụng chính sách.

    Bước 3: Chọn loại chính sách Restrict Resource Locations.

    Bước 4: Chọn nút Edit để chỉnh sửa chính sách.

    Bước 5: Nhập các giá trị cho các vùng (region) hoặc khu vực (zone) mà cho phép hoặc cấm tạo tài nguyên. Sử dụng các tiền tố như in:, not-in:, has:, not-has: để lọc các giá trị. Ví dụ: in:us-locations, not-in:asia-southeast1-a, has:europe, not-has:southamerica.

    Bước 6: Nhấn nút Save để lưu lại chính sách.

    Xem tài liệu chi tiết

    Thiết lập Quotas

    Bước 1: Vào trang Quotas trong Google Cloud Console.

    Bước 2: Chọn project muốn thiết lập giới hạn quotas.

    Bước 3: Chọn loại tài nguyên, vd: Compute Engine API.

    Bước 4: Tìm và chọn giới hạn thay đổi, ví dụ Quota: VM Instances.

    Bước 5: Nhấn nút Edit Quotas để chỉnh sửa giới hạn.

    Bước 6: Nhập số lượng tối đa cho phép cho loại tài nguyên đó. Ví dụ: 10.

    Bước 7: Submit Request để gửi yêu cầu thay đổi giới hạn.

    Xem tài liệu chi tiết

CMC Telecom sẽ hỗ trợ khách hàng trong việc review cũng như cùng với Khách hàng hỗ trợ việc thiết lập Policies và Quotas sao cho hợp lý.

Tin liên quan

CMC Telecom cam kết hỗ trợ doanh nghiệp của bạn kịp thời

Hãy gửi phản hồi và câu hỏi của bạn cho chúng tôi để được giải đáp

    Hi! Bạn đang cần tư vấn về dịch vụ của Google?