Nguy hiểm: Tấn công mạng nhắm vào hạ tầng đám mây

Nguy hiểm: Tấn công mạng nhắm vào hạ tầng đám mây
CLOUD SERVER
Vững hạ tầng • Chắc thành công
☁️
⚡ Hiệu năng cao
🛡️ Bảo mật
📈 Mở rộng dễ dàng
🕒 Hỗ trợ 24/7
TÌM HIỂU NGAY

Phần mềm độc hại nhắm vào công cụ phát triển hạ tầng đám mây

Các chiến dịch tấn công gần đây đã đưa phần mềm độc hại vào các công cụ mà các nhà phát triển sử dụng để xây dựng và quản lý hạ tầng đám mây. Một chiến dịch liên kết với Graphalgo đã cài đặt một chương trình truy cập từ xa vào các Terraform providers và các gói phần mềm Go, biến công việc phát triển thông thường thành một con đường tiềm ẩn để xâm nhập vào các máy chủ có giá trị.

Các gói phần mềm độc hại này được thiết kế để không giống các tải xuống độc hại rõ ràng. Một số phần mềm chờ đợi các đầu vào cụ thể trước khi thực thi mã ẩn, khiến việc kiểm thử thông thường ít có khả năng phát hiện ra chúng. Điều này tương tự các cuộc tấn công trước đó sử dụng các bài kiểm thử Terraform giả mạo, mặc dù chiến dịch này sử dụng các gói và phương pháp độc hại riêng.

Phát hiện và phương thức hoạt động

Các nhà phân tích của Aikido đã xác định các biến thể của phần mềm độc hại trên Terraform và Go. Theo báo cáo của Aikido, đây là lần đầu tiên các nhà nghiên cứu quan sát thấy phần mềm độc hại được phân phối thông qua các Terraform providers. Phiên bản Go được kết nối với hoạt động Graphalgo trước đây từng được quan sát thấy trong các gói npm.

Dấu vết được ghi nhận dường như có giới hạn thay vì lan rộng. Các nhà nghiên cứu đã đếm được 18 tên máy chủ riêng biệt trong các thông điệp kiểm tra (check-in), bao gồm ba hệ thống Windows, năm hệ thống Linux và 10 máy Mac. Những bản ghi này không chứng minh số lượng tổ chức bị ảnh hưởng, nhưng chúng cho thấy hoạt động này đã tiếp cận được các máy thật.

Tấn công bằng Terraform Providers giả mạo

Terraform providers cho phép các nhóm kết nối các kế hoạch hạ tầng với các dịch vụ bên ngoài. Vào đầu tháng 9, kẻ tấn công đã công bố hai providers, một trong số đó có tên gần giống với một Docker provider phổ biến với 56 triệu lượt tải xuống được báo cáo. Sự tương đồng này rất quan trọng vì một cái nhìn lướt qua tên gói có thể bỏ sót một chữ cái bị thiếu.

Mã ẩn nằm trong một tệp nguồn provider và chỉ kích hoạt khi hai giá trị đầu vào của Terraform tạo ra một mã băm (hash) cụ thể. Nếu không, nó sẽ im lặng. Khi được kích hoạt, phần mềm độc hại sẽ giải mã vị trí của một kho lưu trữ bị che giấu, giải nén nội dung của nó, giải mã các tệp bên trong và chạy mã Go kết quả dưới dạng một tiến trình riêng biệt.

Phương thức này khác với một vụ xâm phạm Terraform registry gần đây, nơi kẻ tấn công thay đổi nội dung được cung cấp bởi một registry hiện có. Trong trường hợp này, chính các Terraform providers độc hại là mồi nhử. Cả hai trường hợp đều cho thấy tại sao mã chạy trong quá trình làm việc với hạ tầng lại xứng đáng nhận được sự xem xét kỹ lưỡng như chính kế hoạch hạ tầng.

Tấn công thông qua các Go Modules độc hại

Chiến dịch cũng tiếp cận các nhà phát triển Go thông qua hai module. Một module phơi bày mã độc hại dưới dạng văn bản có thể đọc được. Module còn lại ẩn mã độc hại trong một kho lưu trữ đóng giả làm tệp cơ sở dữ liệu và chờ đợi một giá trị được tạo đặc biệt. Kẻ tấn công đã làm giả ngày commit cũ cho module này, khiến việc phát hành của nó có vẻ được thiết lập lâu đời hơn.

Sau khi kích hoạt, giai đoạn thứ hai sẽ thu thập thông tin chi tiết về hệ thống và báo cáo chúng qua Slack. Sau đó, nó tạo các khóa mã hóa tạm thời để bảo vệ các thông điệp sau này. Người điều khiển có thể gửi chỉ dẫn qua Slack hoặc một hợp đồng thông minh trên mạng thử nghiệm Ethereum, hướng dẫn các hệ thống bị nhiễm chạy thêm mã Go hoặc JavaScript hoặc xóa phần mềm độc hại.

Cách tiếp cận này phù hợp với một khuôn mẫu tấn công rộng hơn của Graphalgo vào các gói dành cho nhà phát triển. Tuy nhiên, nghiên cứu mới không xác định độc lập tác nhân đứng sau các Terraform providers cụ thể này. Các nhà nghiên cứu cũng tìm thấy hai hệ sinh thái gói Go giả mạo dường như được thiết kế để làm cho các dịch vụ trở nên đáng tin cậy.

Tại thời điểm phân tích, các nhà điều tra đã quan sát thấy 1.240 tin nhắn Slack được mã hóa và 1.402 giao dịch hợp đồng thông minh. Các số liệu này đo lường hoạt động trong các kênh điều khiển, không phải các ca nhiễm được xác nhận. Việc sử dụng blockchain làm tuyến đường lệnh cũng tương tự các phần mềm độc hại khác ẩn chỉ dẫn điều khiển trong các giao dịch công khai, mặc dù các cơ chế có sự khác biệt.

Khuyến nghị bảo mật

Đối với các nhóm đã cài đặt phần mềm bị ảnh hưởng, việc gỡ bỏ một gói là không đủ. Aikido khuyên nên cô lập máy hoặc trình chạy build, xoay vòng thông tin xác thực mà nó có thể truy cập và xem xét các thay đổi mã gần đây, các bản phát hành gói, các lần chạy Terraform và các bản dựng tự động để phát hiện hành vi sử dụng sai mục đích. Việc nạp lại (reimaging) máy chủ là cách an toàn hơn để loại bỏ một gói tải trọng có thể còn sót lại sau khi gỡ cài đặt.

Thông tin xác thực đám mây và hạ tầng cần được ưu tiên khi có sự tham gia của Terraform provider. Các tổ chức không có lý do kinh doanh để liên hệ với các dịch vụ blockchain cũng có thể cảnh báo về các kết nối bất ngờ đến giao diện web của blockchain.

Các nhóm nên lưu giữ nhật ký (logs) và ảnh chụp nhanh (snapshots) trước khi dọn dẹp, vì chúng có thể tiết lộ liệu kẻ tấn công có sử dụng thông tin xác thực còn hiệu lực ở những nơi khác hay không. Bài học cốt lõi là thực tế: phần mềm được sử dụng để triển khai hạ tầng có thể tự nó trở thành điểm xâm nhập vào hạ tầng đó.

Các chỉ số xâm phạm (IoCs)

Các chỉ số xâm phạm (IoCs) được cung cấp trong báo cáo gốc, tuy nhiên, các địa chỉ IP và tên miền được làm mờ cố ý để ngăn chặn việc phân giải hoặc liên kết ngoài ý muốn. Việc làm rõ chúng nên được thực hiện trong các nền tảng tình báo mối đe dọa được kiểm soát như MISP, VirusTotal hoặc SIEM của bạn.