Lỗ hổng của AWS Cloud Development Kit khiến người dùng có nguy cơ bị chiếm đoạt tài khoản

Xuất bản: 25/10/2024

Lỗ hổng của AWS Cloud Development Kit khiến người dùng có nguy cơ bị chiếm đoạt tài khoản

Các nhà nghiên cứu an ninh mạng đã tiết lộ một lỗ hổng bảo mật ảnh hưởng đến Amazon Web Services (AWS) Cloud Development Kit (CDK) có thể dẫn đến việc chiếm đoạt tài khoản trong những trường hợp cụ thể.

![Lỗ hổng của AWS Cloud Development Kit](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL5NVEmKTP6X2tKMj96lHho7dAkEVrlk9ky6iMCSj1eFt3aeMM8UaL_1EJjVVeuBZj8OfdNuidPfi_9yVlIQj0P6BblJb7-2FM-LiMtY-9U3tko0p9RcnUJfkPKTjvC1NoACy4UV0Wn_eoCzycE8CK5ZUDBRsXhG2aEKf-_DtMfy4jnBXsjE6ztEkY4qR0/s728-rw-e365/aws.png "Lỗ hổng của AWS Cloud Development Kit")

Các nhà nghiên cứu Ofek Itach và Yakir Kadkoda của Aqua cho biết trong một báo cáo chia sẻ với The Hacker News: "Trong một số trường hợp nhất định, tác động của vấn đề này có thể cho phép kẻ tấn công có quyền truy cập quản trị vào tài khoản AWS mục tiêu, dẫn đến việc chiếm đoạt toàn bộ tài khoản" .

Sau khi tiết lộ có trách nhiệm vào ngày 27 tháng 6 năm 2024, vấn đề đã được những người bảo trì dự án giải quyết trong CDK phiên bản 2.149.0 được phát hành vào tháng 7.

AWS CDK là một khuôn khổ phát triển phần mềm nguồn mở để xác định tài nguyên ứng dụng đám mây bằng Python, TypeScript hoặc JavaScript và cung cấp chúng thông qua CloudFormation.

Vấn đề mà Aqua xác định dựa trên những phát hiện trước đó của công ty bảo mật đám mây về tài nguyên ẩn trong AWS và cách các quy ước đặt tên được xác định trước cho các thùng AWS Simple Storage Service (S3) có thể được sử dụng để dàn dựng các cuộc tấn công Bucket Monopoly và truy cập vào dữ liệu nhạy cảm.

Chuẩn bị môi trường AWS để sử dụng với AWS Cloud Development Kit (AWS CDK) được thực hiện bằng một quy trình gọi là bootstrapping, trong đó một số tài nguyên AWS được cung cấp cho môi trường. Bao gồm một thùng AWS S3, kho lưu trữ Amazon Elastic Container Registry (Amazon ECR) và các vai trò AWS Identity and Access Management (IAM).

An ninh mạng

Theo tài liệu của AWS, "Các tài nguyên và cấu hình của chúng được CDK sử dụng được xác định trong mẫu AWS CloudFormation" .

"Để khởi động một môi trường, bạn sử dụng lệnh cdk bootstrap của AWS CDK Command Line Interface (AWS CDK CLI). CDK CLI sẽ truy xuất mẫu và triển khai mẫu đó lên AWS CloudFormation dưới dạng một ngăn xếp, được gọi là ngăn xếp khởi động. Theo mặc định, tên ngăn xếp là CDKToolkit."

Một số vai trò IAM được tạo như một phần của quy trình khởi động cấp quyền tải lên và xóa tài sản khỏi thùng S3 được liên kết, cũng như thực hiện triển khai ngăn xếp với quyền truy cập của quản trị viên.

Aqua cho biết mẫu đặt tên của các vai trò IAM do AWS CDK tạo ra tuân theo cấu trúc "cdk-{Qualifier}-{Description}-{Account-ID}-{Region}", trong đó mỗi trường được giải thích bên dưới -

  • Qualifier, một giá trị chuỗi chín ký tự duy nhất mặc định là "hnb659fds" mặc dù nó có thể được tùy chỉnh trong giai đoạn khởi động
  • Mô tả, mô tả tài nguyên (ví dụ: cfn-exec-role)
  • Account-ID, AWS account ID of the environment
  • Region, AWS region of the environment

Ở giai đoạn cuối, khi người dùng triển khai CDK bằng cách sử dụng "cdk deploy", quy trình này không chỉ gửi mẫu đến thùng chứa bản sao mà còn chèn vai trò quản trị mà kẻ tấn công có thể đảm nhận để cuối cùng giành quyền kiểm soát tài khoản của nạn nhân.

An ninh mạng

Nói cách khác, chuỗi tấn công tạo điều kiện cho việc tạo vai trò quản trị trong tài khoản AWS mục tiêu khi thùng CDK S3 được thiết lập trong quá trình khởi động bị xóa và CDK được sử dụng lại. AWS đã xác nhận rằng khoảng 1% người dùng CDK dễ bị tấn công.

Bản sửa lỗi do AWS đưa ra đảm bảo rằng các tài sản chỉ được tải lên các thùng trong tài khoản của người dùng để ngăn CDK đẩy dữ liệu vào các thùng không thuộc sở hữu của tài khoản đã khởi chạy bootstrapping. AWS cũng khuyến khích khách hàng sử dụng một trình định tính tùy chỉnh thay vì "hnb659fds" mặc định.

Nói như vậy, hành động của người dùng là bắt buộc nếu bootstrapping được thực hiện bằng CDK phiên bản v2.148.1 hoặc cũ hơn, đòi hỏi họ phải cập nhật CDK lên phiên bản mới nhất và chạy lại lệnh bootstrap. Ngoài ra, người dùng có tùy chọn áp dụng điều kiện chính sách IAM cho vai trò CDK FilePublishingRole.

Trong tuyên bố chia sẻ với The Hacker News, AWS cho biết đã điều tra và giải quyết mọi lo ngại liên quan đến việc lộ dữ liệu trái phép khi triển khai CDK.

"Vào ngày 12 tháng 7 năm 2024, AWS đã phát hành bản cập nhật cho AWS Cloud Development Kit (AWS CDK) CLI, bản cập nhật này triển khai các biện pháp kiểm soát bảo mật bổ sung để giảm thiểu khả năng tiết lộ dữ liệu cho khách hàng thực hiện triển khai CDK", người phát ngôn của AWS cho biết với ấn phẩm này.

"Khách hàng sử dụng phiên bản mới nhất sẽ cần thực hiện một hành động một lần để nâng cấp tài nguyên bootstrap của họ. AWS đã liên hệ trực tiếp với những khách hàng có khả năng bị ảnh hưởng để thông báo cho họ về nhu cầu nâng cấp và đã thêm các kiểm tra bổ sung vào CLI để nhắc nhở người dùng nâng cấp."

Những phát hiện này một lần nữa kêu gọi phải giữ bí mật ID tài khoản AWS, xác định chính sách IAM có phạm vi và tránh đặt tên dễ đoán cho các thùng S3.

"Thay vào đó, hãy tạo các giá trị băm duy nhất hoặc mã định danh ngẫu nhiên cho mỗi vùng và tài khoản, sau đó kết hợp chúng vào tên thùng S3 của bạn", Aqua kết luận. "Chiến lược này giúp bảo vệ chống lại những kẻ tấn công chiếm đoạt thùng của bạn trước".

Việc tiết lộ này được đưa ra sau khi Symantec thuộc sở hữu của Broadcom phát hiện ra một số ứng dụng Android và iOS đã mã hóa cứng và không mã hóa thông tin đăng nhập dịch vụ đám mây cho AWS và Microsoft Azure Blob Storage, khiến dữ liệu người dùng gặp rủi ro .

Một số ứng dụng vi phạm bao gồm Pic Stitch: Collage Maker, Crumbl, Eureka: Earn Money for Surveys, Videoshop - Video Editor, Meru Cabs, Sulekha Business và ReSound Tinnitus Relief.

Các nhà nghiên cứu bảo mật Yuanjing Guo và Tommy Dong cho biết : "Thực hành nguy hiểm này có nghĩa là bất kỳ ai có quyền truy cập vào mã nhị phân hoặc mã nguồn của ứng dụng đều có khả năng trích xuất những thông tin đăng nhập này và sử dụng sai mục đích để thao túng hoặc đánh cắp dữ liệu, dẫn đến vi phạm bảo mật nghiêm trọng" .