Nguy hiểm: Chiếm quyền điều khiển AWS EC2 & SageMaker nghiêm trọng

Nguy hiểm: Chiếm quyền điều khiển AWS EC2 & SageMaker nghiêm trọng

Một phương pháp chiếm quyền điều khiển liên tục trong môi trường AWS, cho phép những kẻ tấn công với các quyền hạn giới hạn thực thi mã dưới các vai trò (execution roles) có đặc quyền cao hơn trên các phiên bản EC2 và phiên bản sổ ghi chép SageMaker. Đây là một lỗ hổng bảo mật AWS đáng chú ý.

Kỹ thuật này được Grzelak ghi nhận lần đầu vào năm 2016 cho EC2. Phương pháp khai thác các cấu hình có thể sửa đổi trong quá trình khởi động để chèn các payload độc hại, từ đó vượt qua các kiểm soát IAM tiêu chuẩn như PassRole.

Phân tích gần đây từ nhà nghiên cứu bảo mật Daniel Grzelak xác nhận mô hình này vẫn tồn tại trên các dịch vụ AWS. Điều này làm nổi bật những rủi ro liên tục trong các môi trường điện toán đám mây.

Nội dung
Kỹ thuật Chiếm Quyền Điều Khiển trên EC2 qua UserData

Phát hiện và Giảm thiểu trên EC2
Chiếm Quyền Điều Khiển trên SageMaker thông qua Cấu hình Vòng đời

Cơ chế khai thác và ảnh hưởng
Gốc rễ Lỗ hổng và Phạm vi Chiếm Quyền Điều Khiển Rộng hơn
Chiến lược Phát hiện và Phòng ngừa
Mô hình Trách nhiệm Chia sẻ của AWS

Kỹ thuật Chiếm Quyền Điều Khiển trên EC2 qua UserData

Những kẻ tấn công có các quyền ec2:StartInstances, ec2:StopInstancesec2:ModifyInstanceAttribute sẽ nhắm mục tiêu vào các phiên bản EC2 hiện có. Các phiên bản này được gắn với các profile phiên bản (instance profiles) có đặc quyền cao.

Bằng cách dừng phiên bản, chúng sửa đổi thuộc tính userData bằng cách sử dụng chỉ thị #cloud-boothook. Chỉ thị này kích hoạt thực thi script trên mỗi lần khởi động lại.

Khi phiên bản được khởi động lại, mã được chèn sẽ chạy trong ngữ cảnh của vai trò thực thi của phiên bản. Điều này cấp quyền truy cập vào toàn bộ các đặc quyền của vai trò đó, có thể dẫn đến chiếm quyền điều khiển hoàn toàn.

Các hành vi độc hại có thể bao gồm việc trích xuất thông tin xác thực. Kỹ thuật chiếm quyền điều khiển này vẫn khả thi cho đến ngày nay, vì tài liệu của AWS vẫn cho phép sửa đổi userData sau khi khởi chạy.

Phát hiện và Giảm thiểu trên EC2

Nhật ký CloudTrail có thể tiết lộ cuộc tấn công mạng AWS này thông qua chuỗi sự kiện không mong muốn. Các sự kiện này bao gồm StopInstances, tiếp theo là ModifyInstanceAttribute, và cuối cùng là StartInstances, đến từ các principal không quen thuộc.

Để giảm thiểu rủi ro, cần hạn chế quyền ec2:ModifyInstanceAttribute chỉ cho các quản trị viên đáng tin cậy. Quyền này nên được coi là tương đương với việc thực thi mã tùy ý dưới vai trò mục tiêu.

Tham khảo thêm về khai thác siêu dữ liệu phiên bản EC2 tại: CybersecurityNews và nghiên cứu mối đe dọa leo thang đặc quyền AWS IAM tại: Splunk Blog.

Chiếm Quyền Điều Khiển trên SageMaker thông qua Cấu hình Vòng đời

Các phiên bản sổ ghi chép Amazon SageMaker, được cung cấp bởi môi trường Jupyter được quản lý, giới thiệu một vector tấn công song song. Vector này hoạt động thông qua các cấu hình vòng đời (lifecycle configurations).

Các cấu hình này là các shell script được thực thi khi phiên bản bắt đầu hoặc được tạo. Điều này mở ra một con đường mới để chiếm quyền điều khiển.

Cơ chế khai thác và ảnh hưởng

Các quyền sagemaker:StopNotebookInstance, sagemaker:UpdateNotebookInstance (với lifecycle-config-name) và sagemaker:StartNotebookInstance cho phép leo thang đặc quyền. Kẻ tấn công sẽ dừng một sổ ghi chép, tạo hoặc đính kèm một cấu hình vòng đời độc hại chứa mã đánh cắp thông tin xác thực được mã hóa base64, sau đó khởi động lại.

Daniel Grzelak của Plerion đã cung cấp mã bash chứng minh ý tưởng (proof-of-concept) cho chuỗi tấn công đầy đủ này. Mã này bao gồm từ việc tạo cấu hình đến trích xuất thông tin qua một endpoint callback. Chi tiết tại: Plerion Blog.

Sự phức tạp của SageMaker, trải dài trên các sổ ghi chép, domain và studio, khuếch đại rủi ro. Các vai trò thực thi thường mang các quyền khoa học dữ liệu rộng rãi như truy cập S3 hoặc triển khai mô hình.

Rhino Security Labs trước đây đã ghi nhận các hành vi lạm dụng SageMaker tương tự. Tuy nhiên, các cập nhật cấu hình vòng đời đại diện cho một sửa đổi tinh vi hơn, xảy ra sau cấu hình ban đầu. Xem thêm về vai trò của SageMaker tại: AWS SageMaker Roles.

Gốc rễ Lỗ hổng và Phạm vi Chiếm Quyền Điều Khiển Rộng hơn

Lỗi cốt lõi phát sinh từ việc kiểm tra PassRole chỉ xảy ra tại thời điểm tạo tài nguyên. Điều này tách rời việc gán vai trò khỏi các thay đổi mã tại thời điểm chạy.

Các mô hình tương tự cũng ảnh hưởng đến Lambda (thông qua UpdateFunctionCode), các bộ thay đổi CloudFormation, và có khả năng cả SageMaker Studios. Kẻ tấn công có thể săn lùng một cách có hệ thống các endpoint API của AWS có phụ thuộc vào vai trò thực thi, cho phép khai thác chiếm quyền điều khiển trên diện rộng.

Thông tin thêm về leo thang đặc quyền IAM: Hacking The Cloud.

Chiến lược Phát hiện và Phòng ngừa

Phát hiện dựa trên việc giám sát CloudTrail đối với các mẫu StopUpdateStart trên các tài nguyên tính toán. Đặc biệt chú ý đến các hành động từ các danh tính (identities) không liên quan đến hoạt động thông thường.

Phòng ngừa đòi hỏi giới hạn quyền theo nguyên tắc đặc quyền tối thiểu (least-privilege) xung quanh các hành động sửa đổi cấu hình. Việc này bao gồm sử dụng Service Control Policies (SCPs) để từ chối các đường dẫn vai trò thực thi rộng. Ngoài ra, cần thiết lập quy trình phê duyệt cho các hoạt động khởi động lại.

Mô hình Trách nhiệm Chia sẻ của AWS

AWS phân loại đây là các vấn đề cấu hình thuộc mô hình trách nhiệm chia sẻ. AWS khuyến nghị các đội ngũ kiểm toán nghiêm ngặt việc giả định các vai trò thực thi.