Một cuộc tấn công định thời mới được phát hiện chống lại API đăng ký của npm có thể được khai thác để có khả năng tiết lộ các gói riêng tư được các tổ chức sử dụng, khiến các nhà phát triển có nguy cơ bị đe dọa chuỗi cung ứng.
Nhà nghiên cứu Yakir Kadkoda của Aqua Security cho biết: “Bằng cách tạo danh sách các tên gói có thể có, các tác nhân đe dọa có thể phát hiện các gói riêng tư trong phạm vi của tổ chức và sau đó giả mạo các gói công khai, lừa nhân viên và người dùng tải chúng xuống”.
Nhầm lẫn theo phạm vi tấn công các ngân hàng vào việc phân tích thời gian cần thiết cho API npm (registry.npmjs[.]org) để trả về thông báo lỗi HTTP 404 khi truy vấn gói riêng tư và đo lường nó dựa trên thời gian phản hồi cho mô-đun không tồn tại.
“Trung bình mất ít thời gian hơn để nhận được câu trả lời cho một gói riêng tư không tồn tại so với một gói riêng tư có”, Kadkoda giải thích.
Cuối cùng, ý tưởng là xác định các gói được sử dụng nội bộ bởi các công ty, sau đó có thể được các tác nhân đe dọa sử dụng để tạo ra các phiên bản công khai của cùng một gói nhằm cố gắng đầu độc chuỗi cung ứng phần mềm.
Các phát hiện mới nhất cũng khác với các cuộc tấn công gây nhầm lẫn phụ thuộc ở chỗ nó yêu cầu đối thủ phải đoán các gói riêng tư được một tổ chức sử dụng và sau đó xuất bản các gói giả có cùng tên dưới phạm vi công khai.
Ngược lại, nhầm lẫn phụ thuộc (hay còn gọi là nhầm lẫn không gian tên) dựa trên thực tế là người quản lý gói kiểm tra đăng ký mã công khai cho một gói trước khi đăng ký riêng, dẫn đến việc truy xuất gói phiên bản cao hơn độc hại từ kho lưu trữ công cộng.
Aqua Security cho biết họ đã tiết lộ lỗi này cho GitHub vào ngày 8 tháng 3 năm 2022, khiến công ty con do Microsoft sở hữu phải đưa ra phản hồi rằng cuộc tấn công về thời gian sẽ không được khắc phục do các giới hạn về kiến trúc.
Như các biện pháp phòng ngừa, các tổ chức nên thường xuyên quét npm và các nền tảng quản lý gói khác để tìm các gói trông giống hoặc giả mạo giả mạo như các đối tác nội bộ.
Kadkoda nói: “Nếu bạn không tìm thấy các gói công khai tương tự như các gói nội bộ của mình, hãy xem xét việc tạo các gói công khai làm trình giữ chỗ để ngăn chặn các cuộc tấn công như vậy.