Tin tức bảo mật: Phishing GitHub cực kỳ nguy hiểm

Tin tức bảo mật: Phishing GitHub cực kỳ nguy hiểm

Tin tức bảo mật mới ghi nhận một chiến dịch phishing nhắm vào nhà phát triển, lợi dụng hệ thống thông báo của GitHub để phát tán yêu cầu ủy quyền OAuth độc hại. Điểm đáng chú ý là email lừa đảo được gửi từ hạ tầng đáng tin cậy của GitHub, khiến việc phân biệt với cảnh báo hợp lệ trở nên khó khăn.

Phishing qua GitHub Notifications trong tin tức an ninh mạng

Chiến dịch này không dựa trên kỹ thuật Attacker-in-The-Middle thông thường. Thay vào đó, kẻ tấn công khai thác cơ chế gửi email của GitHub: khi một người dùng bị @mention trong phần mô tả issue, hệ thống sẽ tự động gửi thông báo đến hộp thư của họ.

Email chứa nội dung phishing được phát đi từ địa chỉ no-reply của GitHub, làm tăng độ tin cậy bề ngoài. Đây là một nguy cơ bảo mật đặc biệt với tài khoản nhà phát triển, vì chỉ cần một thao tác xác nhận sai có thể dẫn đến xâm nhập trái phép vào repository và workflow.

Tham khảo tài liệu nghiên cứu gốc tại Atsika blog.

Cơ chế tấn công

Kẻ tấn công chỉ cần một tài khoản GitHub miễn phí, một OAuth app độc hại và một máy chủ hosting miễn phí. Sau đó, họ tạo tài khoản giả mạo dịch vụ bảo mật, dựng repository ngụy trang và gửi issue chứa liên kết lừa đảo tới mục tiêu.

Trong proof-of-concept, OAuth app được đặt tên là MalGitApp. Ứng dụng này yêu cầu các quyền nguy hiểm, gồm:

  • Đọc và ghi vào publicprivate repositories
  • Truy cập GitHub Actions workflows
  • Truy cập emailprofile data của người dùng

Khi nạn nhân bấm vào liên kết trong email và chấp thuận trên trang ủy quyền hợp lệ của GitHub, kẻ tấn công nhận được access token hợp lệ.

Token này có thể dùng để clone repository, đẩy mã backdoor và tương tác với automation workflow. Trong ngữ cảnh chuỗi cung ứng phần mềm, đây là một dạng mối đe dọa có thể dẫn đến rủi ro an toàn thông tin trên diện rộng.

Lỗ hổng quy trình và TOCTOU trong hệ thống thông báo

Phát hiện kỹ thuật nổi bật nhất là một Time-of-Check Time-of-Use (TOCTOU) race condition trong hệ thống thông báo của GitHub. Kẻ tấn công đăng issue, gắn thẻ mục tiêu để kích hoạt email, rồi chỉnh sửa hoặc xóa nội dung chỉ trong khoảng 2 đến 3 giây.

Do email được tạo dựa trên phiên bản mới nhất của issue thay vì bản gốc, nạn nhân nhận được nội dung phishing đã được “làm sạch” trong inbox. Trong khi đó, issue trên repository có thể đã trống hoặc chỉ hiển thị tiêu đề vô hại như “Loading error”.

Cơ chế này làm cho việc truy vết nội dung lừa đảo trở nên khó khăn hơn, vì các revision cũng có thể bị xóa. Đây là một dạng zero-day vulnerability về mặt hành vi khai thác quy trình, dù bài nghiên cứu không nêu CVE hay CVSS cụ thể.

Ẩn giấu liên kết và giả mạo danh tính

Để tránh bị phát hiện, kẻ tấn công rút gọn URL phishing bằng link shortener, vì GitHub chủ động gắn cờ các URL ủy quyền OAuth trực tiếp là đáng ngờ. Họ cũng đặt tên tài khoản và repository giống thông báo hệ thống, ví dụ như GH-Security/alert, để tiêu đề email trông hợp lệ hơn.

Những dấu hiệu này là tiêu chí quan trọng cho phát hiện xâm nhập trong môi trường phát triển phần mềm, đặc biệt khi các thông báo nội bộ bị lợi dụng làm kênh phát tán.

Ảnh hưởng hệ thống và chuỗi cung ứng phần mềm

Nhà phát triển là mục tiêu giá trị vì họ kiểm soát mã nguồn, repository riêng tư, CI/CD pipeline và server sản xuất. Nếu tài khoản bị xâm nhập, kẻ tấn công có thể can thiệp trực tiếp vào mã nguồn và automation.

Từ đó, các thay đổi độc hại có thể lan vào chuỗi cung ứng phần mềm ở quy mô lớn. Bài nghiên cứu nhắc tới các dự án được dùng rộng rãi như AxiosLiteLLM, mỗi dự án có hơn 100 triệu lượt tải hàng tuần.

Đây là dạng cuộc tấn công mạng có tác động vượt ra ngoài một tài khoản đơn lẻ, vì token OAuth hợp lệ có thể được dùng để duy trì truy cập, sửa workflow và chèn nội dung vào các bản phát hành tiếp theo.

Biện pháp giảm rủi ro an toàn thông tin

Nhóm nghiên cứu khuyến nghị các nhà phát triển và tổ chức giảm bề mặt tấn công bằng cách chú ý bất kỳ yêu cầu ủy quyền nào đến từ email không mong muốn. Một công cụ bảo mật hợp lệ không nên yêu cầu quyền truy cập repository đầy đủ chỉ qua thông báo bất ngờ.

Về vận hành, cần kiểm tra kỹ các OAuth app mới cấp quyền, rà soát quyền GitHub Actions và theo dõi các dấu hiệu thay đổi bất thường trong issue, repository và workflow. Đây là các điểm kiểm soát quan trọng trong an toàn thông tin của môi trường phát triển.

Dấu hiệu nhận biết trong thực tế

  • Email thông báo đến từ GitHub nhưng nội dung thúc đẩy ủy quyền OAuth
  • Repository hoặc issue có tên giống cảnh báo hệ thống, ví dụ GH-Security/alert
  • Liên kết bị rút gọn hoặc chuyển hướng sang trang ủy quyền
  • Issue gốc bị sửa/xóa nhanh sau khi gửi thông báo

Các dấu hiệu trên phù hợp để đưa vào quy trình giám sát tin bảo mật mới nhất và kiểm tra thủ công khi có thông báo bất thường liên quan đến GitHub OAuth. Trong bối cảnh lỗ hổng zero-day dạng quy trình, việc xác minh nguồn thông báo và quyền ứng dụng là bước bắt buộc trước khi chấp thuận bất kỳ yêu cầu nào.