Công nghệ

Tiện ích VS Code bị tẩm độc đã đánh cắp 3.800 kho nội bộ của GitHub

Susan Hill

GitHub đang điều tra việc truy cập trái phép vào các kho nội bộ của mình và xác nhận rằng kẻ tấn công đã rút thành công dữ liệu từ khoảng 3.800 kho trong số đó. Cuộc xâm nhập đến qua một tiện ích Visual Studio Code bị tẩm độc do một nhân viên cài đặt, cho phép kẻ tấn công truy cập máy tính đó và từ đó vào mã nội bộ vốn phải nằm sau những bức tường riêng của chính công ty.

Ranh giới mà GitHub đang chỉ ra, giữa các kho nội bộ và nền tảng phục vụ khách hàng, là thứ duy nhất ngăn cách một sự cố được kiềm chế và một tình trạng khẩn cấp chuỗi cung ứng toàn cầu. GitHub là nơi lưu trữ khoảng 100 triệu nhà phát triển và một phần đáng kể mã nguồn mở mà internet hiện đại đang dựa vào. Khi công ty nói “nội bộ”, họ đang nói đến mã nền tảng của chính họ, công cụ của họ, cấu hình vận hành, vật liệu mà GitHub dùng để xây dựng và vận hành chính mình. Các tổ chức khách hàng, doanh nghiệp và các kho công khai cũng như riêng tư mà khách hàng lưu trên GitHub, theo chính công ty, nằm ngoài bán kính ảnh hưởng của cuộc xâm nhập này.

Sự phân biệt đó đang gánh khá nhiều sức nặng trong tuyên bố mà công ty đăng trên tài khoản X chính thức. “Mặc dù hiện tại chúng tôi không có bằng chứng về ảnh hưởng đến thông tin khách hàng được lưu trữ bên ngoài các kho nội bộ của GitHub”, thông báo viết, “chúng tôi vẫn đang theo dõi sát hạ tầng để phát hiện hoạt động tiếp theo”. Cách diễn đạt rất chính xác, và sự chính xác trong một thông báo vi phạm thường có nghĩa cuộc điều tra vẫn đang tiếp diễn. “Không có bằng chứng về ảnh hưởng” không giống với “không có ảnh hưởng”. Các sự cố trên những nền tảng lớn có xu hướng phình ra khi điều tra pháp y bắt kịp hoạt động của kẻ tấn công, và lằn ranh giữa hệ thống nội bộ và hệ thống hướng đến khách hàng hiếm khi là một bức tường vật lý sạch sẽ. Đó là tập hợp các kiểm soát truy cập, thông tin xác thực và tài khoản dịch vụ phải được suy xét từng cái một.

Cơ chế là phần của câu chuyện đáng để mọi nhà phát triển lo lắng. Visual Studio Code là trình soạn thảo mã chiếm ưu thế trên hành tinh, được dùng trong hầu hết các tổ chức kỹ thuật lớn. Chợ tiện ích của nó vận hành dựa trên niềm tin cộng đồng: bất kỳ ai cũng có thể đăng tải, và phần lớn kỹ sư cài plug-in với sự dễ dãi giống như thêm dấu trang vào trình duyệt. Một tiện ích bị tẩm độc đi qua kênh đó và chạy trên máy của nhà phát triển trao cho kẻ tấn công quyền truy cập tất cả những gì phiên làm việc của nhà phát triển đó có thể với tới: kho, token, kho đăng ký gói, dịch vụ nội bộ. Tên cụ thể của tiện ích được sử dụng trong vụ này chưa được công bố, nhưng mô hình không mới. Nx Console, một tiện ích công cụ phổ biến cho nhà phát triển, từng chịu một vụ xâm nhập tương tự.

Nhóm tự xưng là TeamPCP đã nhận trách nhiệm về vụ xâm nhập và rao bán bộ dữ liệu trên các diễn đàn ngầm với mức giá sàn năm mươi nghìn đô la. Cách nhóm này dùng câu “đây không phải tiền chuộc” tự nó là một tín hiệu. Họ không cố tống tiền GitHub trực tiếp. Họ đang xử lý mã nguồn nội bộ bị đánh cắp giống như những tội phạm khác xử lý dump thẻ tín dụng: như hàng hóa có người mua. Bất kỳ ai cuối cùng cầm được kho lưu trữ 3.800 repo đó sẽ chải qua nó để tìm thông tin xác thực nhúng sẵn, bí mật ghi cứng trong mã, chi tiết hữu ích để tấn công chính hạ tầng của GitHub, và bất cứ thứ gì có thể dùng để xâm phạm các mục tiêu kế tiếp trong chuỗi. Cùng nhóm này cũng được cho là đứng sau con sâu Mini Shai-Hulud đã đánh vào gói durabletask trên PyPI, điều đó nhấn mạnh nền của câu chuyện: tấn công chuỗi cung ứng phát triển phần mềm đã chuyển từ kịch bản lý thuyết sang nghề thực hành.

Phản ứng kiểm soát của GitHub, theo chính mô tả của công ty, là nhanh chóng. Thiết bị bị xâm nhập đã được cô lập. Tiện ích độc hại đã được gỡ bỏ. Công ty cho biết đã xoay vòng các bí mật quan trọng, ưu tiên cho thông tin xác thực có ảnh hưởng lớn nhất, và sẽ thông báo cho khách hàng bị ảnh hưởng qua các kênh ứng cứu sự cố quen thuộc nếu cuộc điều tra mở rộng. Công ty con của Microsoft không nêu tên nhân viên GitHub có thiết bị bị xâm nhập, không nêu tên tiện ích và không cho biết chính xác kẻ tấn công đã có quyền truy cập trong bao lâu trước khi bị phát hiện. Những chi tiết đó thường xuất hiện trong báo cáo hậu sự cố dài hơn, đến vài tuần sau thông báo ban đầu.

Đối với phần còn lại của ngành, bài học thực tế đơn giản hơn vẻ ngoài tình báo mối đe dọa. Mọi tổ chức kỹ thuật đều cách cùng một sự cố một lần cài tiện ích bất cẩn. Bất kỳ ai từng cài một tiện ích VS Code được khuyên trong một thread diễn đàn cũng đã gánh đúng rủi ro đã rơi xuống một nhân viên GitHub. Các biện pháp phòng vệ có tác dụng đã được biết rõ và áp dụng không đồng đều: giới hạn việc cài tiện ích trong một danh sách cho phép đã được kiểm duyệt, cách ly máy của nhà phát triển khỏi thông tin xác thực sản phẩm, xoay bí mật ở nhịp độ cao. Vụ vi phạm này sẽ đẩy chúng lên cao hơn trong danh sách ưu tiên ở những công ty đã trì hoãn.

GitHub chưa đưa ra mốc thời gian cho một báo cáo hậu sự cố công khai đầy đủ. Các cuộc điều tra quy mô như vậy ở những nền tảng tầm cỡ này thường mất vài tuần để lộ hết phạm vi, và các cập nhật sẽ đến qua các kênh chính thức của công ty khi được hoàn thành. Điều tiếp theo đáng theo dõi là liệu kho lưu trữ 3.800 repo có thực sự xuất hiện được rao bán hay không, và mức giá sàn sẽ dịch chuyển ra sao khi thị trường ngầm có vài ngày để xem qua chỉ mục.

Thảo luận

Có 0 bình luận.