Mã nguồn trên NuGet tồn tại lỗ hổng cho phép tin tặc tấn công nền tảng .NET

10:49 | 21/07/2021
M.H

Một nghiên cứu mới đây về các gói tiêu chuẩn trên không gian lưu trữ NuGet chỉ ra, có đến 51 thành phần phần mềm đơn lẻ tồn tại các lỗ hổng có mức độ nghiêm trọng và đang bị khai thác. Nghiên cứu một lần nữa cho thấy mối đe dọa mà quá trình phát triển phần mềm phải đối mặt khi phụ thuộc vào các bên thứ ba.

Nhà nghiên cứu Karlo Zanki (ReversingLabs) cho biết, trong bối cảnh ngày càng có nhiều sự cố tấn công vào các chuỗi cung ứng phần mềm, việc đánh giá rủi ro bảo mật và giảm thiểu nguy cơ bị tấn công của các môđun bên thứ ba là vô cùng cấp thiết. Đối tượng trong nghiên cứu là các phiên bản khác nhau của 7Zip, WinSCP và PuTTYgen, những chương trình cung cấp chức năng mạng và nén phức tạp. Chúng liên tục được cập nhật để cải thiện chức năng và giải quyết các lỗ hổng bảo mật. Tuy nhiên, đôi khi xảy ra tình huống các chương trình được cập nhật nhưng vẫn sử dụng thành phần phụ thuộc là các phiên bản cũ có nhiều lỗ hổng.

Trong một trường hợp, thư viện quản lý tệp máy chủ từ xa “WinSCPHelper”  với hơn 35.000 lượt tải xuống, sử dụng phiên bản WinSCP 5.11.2 cũ vẫn tồn tại lỗ hổng.

Các nhà nghiên cứu đã chỉ ra rằng hơn 50.000 thành phần phần mềm trong các gói NuGet được liên kết tĩnh với phiên bản chưa được cập nhật của thư viện “zlib”, khiến chúng đứng trước nguy cơ bị tấn công thông qua một loạt lỗ hổng như CVE-2016-9840, CVE- 2016-9841, CVE-2016-9842 và CVE-2016-9843. Một số gói có lỗ hổng zlib là “DicomObjects” và “librdkafka.redist”, mỗi gói được tải xuống khoảng 18,2 triệu lần.

Đáng lưu ý, "librdkafka.redist “là một thành phần phụ thuộc cho một số gói phổ biến khác, bao gồm cả ứng dụng .NET của Confluent cho Apache Kafka (Confluent.Kafka) với hơn 17,6 triệu lượt tải.

Các công ty phát triển giải pháp phần mềm cần nhận thức rõ hơn về những rủi ro và tham gia nhiều hơn vào quá trình xử lý. Cả đầu vào và đầu ra cuối cùng của quá trình phát triển phần mềm đều cần được kiểm tra để phát hiện các vấn đề về chất lượng mã và tính xác thực. Phát triển phần mềm minh bạch là một trong những nền tảng cần thiết để phát hiện sớm và ngăn chặn các cuộc tấn công chuỗi cung ứng phần mềm.