Trang chủ Bài viết Bảo mật Railway bị đánh cắp khóa AI của khách hàng, thiệt hại ước tính 740.000 USD
Bảo mật 12/11/2026 0 lượt xem

Railway bị đánh cắp khóa AI của khách hàng, thiệt hại ước tính 740.000 USD

Railway bị đánh cắp khóa AI của khách hàng, thiệt hại ước tính 740.000 USD

Railway, nền tảng dịch vụ (PaaS) chuyên xây dựng và vận hành ứng dụng cho khách hàng, vừa công bố vụ xâm nhập hồi tháng 10 khiến kẻ tấn công lấy được các khóa API của nhà cung cấp AI mà khách hàng lưu trữ trên nền tảng. Theo công ty, các khóa này bị dùng để phát sinh khoản chi tiêu trái phép ước tính 740.000 USD. Railway cam kết sẽ tự thanh toán các khoản này trong trường hợp nhà cung cấp AI từ chối hoàn tiền.

Phạm vi ảnh hưởng

Railway lưu các thông tin bí mật của khách hàng, như khóa API và thông tin đăng nhập cơ sở dữ liệu, dưới dạng biến môi trường. Kẻ tấn công đã giải mã biến trong tối đa 1,85% workspace, tương đương khoảng 100.000 workspace, và các truy vấn cơ sở dữ liệu của chúng nhắm vào khóa của nhà cung cấp AI.

Dữ liệu bị giải mã còn bao gồm token tài khoản liên kết của 1.852 người dùng, gồm khóa agent BYOK và token GitHub OAuth. Toàn bộ đã được đặt lại, từng người dùng được thông báo, và không phát hiện trường hợp đăng nhập vào tài khoản khách hàng bằng thông tin đăng nhập bị đánh cắp.

Ngoài khóa AI, một truy vấn của kẻ tấn công còn khớp với thông tin đăng nhập của dịch vụ đám mây, cơ sở dữ liệu và thanh toán. Tuy nhiên, điều tra pháp chứng không cho thấy cơ sở dữ liệu nào của khách hàng bị truy cập, cũng không có dấu hiệu kho mã nguồn bị tải xuống. Kẻ tấn công còn đọc lịch sử lưu trữ của 353 bản build, bao gồm cả biến và bí mật được truyền vào các bản build đó.

Do log của công ty chỉ ghi nhận môi trường nào bị lộ chứ không ghi rõ biến nào, con số khoảng 100.000 workspace được xem là giới hạn trên. Railway đã gửi email cho những khách hàng được đánh giá là có rủi ro cao. Dữ liệu bị sao chép nhưng chưa giải mã giờ không thể giải mã được nữa, vì thông tin đăng nhập mà kẻ tấn công sử dụng đã bị vô hiệu hóa.

Chính sách hoàn tiền theo từng nhà cung cấp

Điều khoản hoàn tiền khác nhau tùy nhà cung cấp AI:

  • AWS Bedrock: chính sách hoàn tiền hiện hành của AWS có áp dụng cho gian lận, đội ngũ tài khoản đã bắt đầu hoàn tiền.
  • Google Gemini: chính sách hiện hành của Google có áp dụng cho gian lận, đội ngũ tài khoản đã bắt đầu hoàn tiền.
  • OpenAI: xét duyệt theo từng trường hợp; khách hàng gửi yêu cầu tới OpenAI rồi chuyển mã hồ sơ cho bộ phận hỗ trợ của Railway.
  • SpaceXSI: xét duyệt theo từng trường hợp, khách hàng gửi yêu cầu tới cùng bộ phận hỗ trợ.
  • Anthropic: vẫn đang đàm phán, nền tảng sẽ tạm ứng chi phí phát sinh từ khóa Anthropic bị lộ.
  • OpenRouter: giữ chính sách không hoàn tiền trong điều khoản dịch vụ, nên Railway sẽ chịu toàn bộ chi phí liên quan.

Khách hàng được yêu cầu báo cáo các khoản phí không do mình tạo ra qua biểu mẫu báo cáo. Biểu mẫu nêu rõ công ty "không chịu trách nhiệm về việc sử dụng các khóa này" nhưng đang điều tra vụ đánh cắp và phối hợp với các nhà cung cấp. Báo cáo không nêu cách ước tính con số 740.000 USD hay khoảng thời gian liên quan, cũng không đặt mức trần hoặc thời hạn cho các yêu cầu, hoặc cho biết khách hàng có phải trả khoản phí đang tranh chấp trong khi chờ xử lý hay không.

Công ty khuyến nghị khách hàng thu hồi và thay thế mọi biến nhạy cảm đã lưu trên nền tảng trước ngày 21/10. Khóa cần được thu hồi hoặc xoay vòng với chính nhà cung cấp đã phát hành, vì việc gửi báo cáo phí không đồng nghĩa với thu hồi khóa. Ngoài ra nên gỡ quyền truy cập mạng công khai tới cơ sở dữ liệu, kiểm tra log kiểm toán GitHub và các ứng dụng có quyền truy cập tài khoản, cũng như kiểm tra log ở các registry như Docker Hub.

Diễn biến vụ tấn công

Theo báo cáo sự cố, cuộc tấn công bắt đầu từ hệ thống build. Lúc 07:28 UTC ngày 20/10, kẻ tấn công khai thác một lỗ hổng chưa từng được biết để thoát một phần khỏi lớp cô lập hệ thống tệp quanh bản build và đọc một số tệp trên máy ảo chủ. Từ đó chúng có được thông tin đăng nhập mà máy chủ build dùng để đẩy image hoàn chỉnh và truy cập một số hệ thống nội bộ.

Kỹ sư trực ca chỉ được gọi lúc 13:58 UTC, khoảng sáu tiếng rưỡi sau lần khai thác đầu tiên, khi cảnh báo phát hiện các cuộc gọi bất thường tới dịch vụ registry. Thông tin đăng nhập này vốn chỉ dành cho công việc build, nhưng hệ thống Temporal nội bộ của công ty lại chấp nhận nó như một client tin cậy, giúp kẻ tấn công đọc lịch sử lưu trữ của các bản build khác và tải ảnh chụp bộ nhớ đệm mã nguồn, qua đó có bản sao monorepo nội bộ.

Sau khi quét mã nguồn, kẻ tấn công phát hiện một liên kết OIDC cấu hình sai trong một môi trường đám mây của công ty. Lúc 03:26 UTC ngày 21/10, chúng khai thác sai sót này để lấy thông tin đăng nhập đám mây tạm thời, rồi lấy thêm hai thông tin nữa: một dùng để đọc biến đã mã hóa từ cơ sở dữ liệu sản xuất khi ở trong mạng nội bộ, và một khóa SSH.

Khóa SSH mở được một máy chạy tác vụ điều phối cho hệ thống máy chủ của công ty. Máy này lưu thông tin đăng nhập có khả năng giải mã biến của khách hàng, phục vụ việc khởi động workload. Mỗi môi trường có khóa mã hóa riêng, và các khóa này lại được mã hóa bởi khóa gốc lưu trong dịch vụ quản lý khóa (KMS) của nhà cung cấp đám mây.

Từ 04:07 đến 05:21 UTC ngày 21/10, kẻ tấn công lấy biến đã mã hóa từ cơ sở dữ liệu, tìm tên khớp với khóa nhà cung cấp AI. Dùng thông tin đăng nhập của máy điều phối với KMS, chúng giải mã một phần trong khoảng 04:42–05:14 UTC và tiếp tục 06:36–07:15 UTC. Đến 09:24 UTC cùng ngày, kẻ tấn công bị loại bỏ hoàn toàn khỏi hệ thống. Các mốc thời gian này khác với báo cáo sơ bộ ngày 22/10.

Biện pháp khắc phục

Mỗi bản build giờ chạy trong máy ảo ngắn hạn riêng, bên trên lớp cô lập cũ, và thông tin đăng nhập của nó chỉ có thể đẩy một image cụ thể lên registry. Trong vòng một giờ sau khi vá lỗ hổng thoát ban đầu, đội tăng cường bảo mật của công ty đã tạo ra một khai thác thứ hai bằng cách biến đổi cuộc tấn công đó — một lý do khiến Railway chuyển toàn bộ người dùng sang hệ thống build mới cùng lúc.

Công ty khẳng định mọi điểm yếu bị khai thác đã được đóng lại, đã gửi khiếu nại tới IC3 của FBI và đang phối hợp với một công ty pháp chứng chuyên trách. Các chỉ dấu xâm nhập hiện được chia sẻ riêng và sẽ công bố khi cơ quan thực thi pháp luật đồng ý. Railway tin rằng thông tin đăng nhập bị đánh cắp được dùng bởi các dịch vụ trung chuyển hoặc bán lại quyền truy cập nhà cung cấp AI để phục vụ chưng cất mô hình, nhưng chưa xác định được kẻ tấn công có vận hành các dịch vụ đó hay không.

Trong phân tích Black October, nhóm nghiên cứu Wiz xếp vụ này vào nhóm sự cố được công bố trong tháng 10 bởi ít nhất chín nền tảng phát triển AI, bao gồm cả vụ OpenCode trước đó. Mọi báo cáo công khai đều mô tả kẻ tấn công săn tìm biến môi trường được lưu trữ, đặc biệt là biến cấp quyền truy cập AI, và không có lỗ hổng hay phụ thuộc phần mềm nào liên kết các vụ tấn công này.

Nguồn: The Hacker News

Trích nguồn từ: The Hacker News

Chia sẻ:

Bài viết liên quan

Zalo