Một cuộc tấn công thu thập thông tin đăng nhập tinh vi đã được phát hiện nhắm vào người dùng GitHub Container Registry ( ghcr.io ) thông qua một tên miền typosquatted. Trang web độc hại ghrc.io khai thác việc hoán đổi chữ cái đơn giản - đổi chỗ 'c' và 'r' - để đánh cắp thông tin xác thực từ các nhà phát triển và tổ chức.
Cuộc tấn công này cho thấy các nhà phát triển có thể dễ dàng trở thành nạn nhân của typosquatting như thế nào, đặc biệt khi xử lý các tên miền phức tạp. Container registry của GitHub sử dụng tên miền viết tắt ghcr.io , mà nhiều người dùng thấy khó nhớ và gõ chính xác. Điều này tạo ra cơ hội lý tưởng cho kẻ tấn công đăng ký các tên miền tương tự và chặn thông tin đăng nhập.
So sánh tên miền:
- Hợp pháp: ghcr.io ( GitHub Container Registry )
- Độc hại: ghrc.io (hoán đổi vị trí chữ 'c' và 'r')
- Vector tấn công: Các điểm cuối OCI API dưới đường dẫn
/v2/
- Mục tiêu thông tin xác thực: Điểm cuối xác thực
https://ghrc.io/token
Kỹ Thuật Ngụy Trang Tinh Vi
Trang web độc hại ghrc.io xuất hiện như một cài đặt nginx tiêu chuẩn khi được truy cập thông qua trình duyệt web, hiển thị trang Welcome to nginx! mặc định. Tuy nhiên, bên dưới vẻ ngoài vô hại này là một mục đích nham hiểm hơn. Khi các công cụ container như Docker hoặc Kubernetes cố gắng truy cập các endpoint API OCI ( Open Container Initiative ) dưới đường dẫn /v2/
, trang web sẽ phản hồi với các header xác thực registry phù hợp.
Dấu hiệu chính cho thấy ý định độc hại là header www-authenticate
hướng client gửi thông tin đăng nhập đến https://ghrc.io/token
. Điều này bắt chước các container registry hợp pháp nhưng phục vụ mục đích thu thập token xác thực và mật khẩu của người dùng. Định dạng phản hồi khớp chặt chẽ với các registry thực tế, khiến việc phát hiện trở nên khó khăn đối với các công cụ tự động.
Tác Động Rộng Rãi Trên Các Dự Án Mã Nguồn Mở
Phân tích cộng đồng cho thấy phạm vi của vấn đề typosquatting này mở rộng xa hơn những sai lầm cá nhân. Một tìm kiếm mã GitHub cho thấy nhiều dự án mã nguồn mở đã vô tình tham chiếu đến tên miền độc hại trong các tệp cấu hình, pipeline CI/CD và tài liệu của họ. Điều này cho thấy lỗi đánh máy này đủ phổ biến để nhiều nhà phát triển đã mắc phải cùng một sai lầm.
Cuộc tấn công đặc biệt nhắm vào các tình huống mà người dùng có thể lưu trữ thông tin đăng nhập cho tên miền sai, chẳng hạn như chạy docker login ghrc.io
thay vì ghcr.io chính xác, hoặc cấu hình sai GitHub Actions với URL registry sai. Các triển khai Kubernetes với image pull secret được cấu hình không chính xác cũng có nguy cơ.
Các Tình Huống Bị Ảnh Hưởng:
- Chạy lệnh
docker login ghrc.io
(tên miền không chính xác) - GitHub Actions với cấu hình
registry: ghrc.io
- Kubernetes secrets được cấu hình cho tên miền
ghrc.io
- Các pipeline CI/CD tham chiếu đến tên miền typosquatted
Mối Quan Ngại Bảo Mật Với Chiến Lược Tên Miền Của GitHub
Sự cố này đã khơi mào các cuộc thảo luận rộng rãi hơn về việc GitHub lựa chọn sử dụng các tên miền viết tắt cho các dịch vụ quan trọng. Nhiều người trong cộng đồng nhà phát triển cho rằng việc sử dụng subdomain như registry.github.com
sẽ an toàn hơn và ít bị tấn công typosquatting hơn. Cách tiếp cận hiện tại sử dụng các tên miền riêng biệt cho các dịch vụ khác nhau tạo ra nhiều vector tấn công.
Tại sao có vẻ như các công ty ghét subdomain đến vậy? Tại sao điều này không chỉ đơn giản là registary.github.com hay gì đó tương tự? Giống như họ đang cố gắng khiến mọi người rơi vào bẫy phishing bằng cách tạo ra quá nhiều tên miền ngẫu nhiên.
Các tác động bảo mật đặc biệt nghiêm trọng vì GitHub Container Registry vẫn dựa vào Personal Access Token ( PAT ) cổ điển thay vì token tinh vi. Điều này có nghĩa là thông tin đăng nhập bị xâm phạm có thể cấp quyền truy cập rộng hơn vào tài khoản người dùng ngoài các hoạt động container registry.
Các Bước Ứng Phó Bảo Mật:
- Thay đổi mật khẩu tài khoản GitHub ngay lập tức
- Thu hồi tất cả Personal Access Tokens (PATs)
- Giám sát tài khoản GitHub để phát hiện hoạt động đáng ngờ
- Kiểm tra các lần đẩy container image trái phép
- Xem xét và cập nhật bất kỳ tham chiếu registry nào bị cấu hình sai
Phản Hồi và Giảm Thiểu
Người dùng nghi ngờ họ có thể đã vô tình đăng nhập vào tên miền độc hại nên ngay lập tức thay đổi mật khẩu GitHub , thu hồi bất kỳ PAT nào họ đã sử dụng và giám sát tài khoản của họ để phát hiện hoạt động đáng ngờ. Cuộc tấn công có thể cho phép các tác nhân độc hại push các container image có hại hoặc có quyền truy cập rộng hơn vào các repository GitHub .
Sự cố này làm nổi bật thách thức liên tục của typosquatting trong hệ sinh thái phát triển hiện đại, nơi các tên miền phức tạp và dịch vụ viết tắt tạo ra cơ hội cho kẻ tấn công. Khi các container registry ngày càng trở nên trung tâm trong quy trình phát triển phần mềm, việc bảo vệ các đường dẫn xác thực này trở nên quan trọng để duy trì bảo mật chuỗi cung ứng.
Tham khảo: ghrc.io Appears to be Malicious