Một cuộc tấn công thời gian 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 sử dụng bởi các tổ chức, khiến các nhà phát triển có nguy cơ bị đe dọa chuỗi cung ứng.
"Bằng cách tạo một 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ư có phạm vi của các 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à nghiên cứu Yakir Kadkoda của Aqua Security cho biết.
Sự nhầm lẫn 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ột mô-đun không tồn tại.
Kadkoda giải thích: "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ư. "
Ý tưởng, cuối cù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 sử dụng bởi các tác nhân đe dọa để tạo ra các phiên bản công khai của cùng một gói trong nỗ lực đầu độc chuỗi cung ứng phần mềm.
Những phát hiện mới nhất cũng khác với các cuộc tấn công nhầm lẫn phụ thuộc ở chỗ nó yêu cầu đối thủ trước tiên phải đoán các gói riêng tư được sử dụng bởi một tổ chức và sau đó xuất bản các gói giả mạo có cùng tên trong phạm vi công khai.
Ngược lại, sự nhầm lẫn về sự phụ thuộc (hay còn gọi là nhầm lẫn không gian tên), các ngân hàng về thực tế là các nhà quản lý gói kiểm tra các cơ quan đă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 từ kho lưu trữ công khai.
Aqua Security cho biết họ đã tiết lộ lỗi này cho GitHub vào ngày 8 tháng 2022 năm XNUMX, khiến công ty con thuộc sở hữu của Microsoft đưa ra phản hồi rằng cuộc tấn công thời gian sẽ không được khắc phục do những hạn chế về kiến trúc.
Là 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 nhau hoặc giả mạo giả mạo là 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 cân nhắ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. "