Các chuyên gia nghiên cứu bảo mật Microsoft vừa tuyên bố phát hiện ra hơn hai chục lỗ hổng thực thi mã từ xa (RCE) nghiêm trọng liên quan đến các thiết bị Internet of Things (IoT) và Operational Technology (OT) đang được sử dụng tương đối phổ biến hiện nay.
25 lỗi bảo mật này được gọi chung là BadAlloc, và theo kết quả điều tra ban đầu, tất cả đều bắt nguồn từ sự trục trặc trong quy trình cấp phát bộ nhớ Integer Overflow hoặc Wraparound. Về lý thuyết, các tác nhân đe dọa có thể khai thác những lỗ hổng để gây ra ra các sự cố hệ thống và thậm chí thực thi mã độc hại từ xa trên các hệ thống IoT và OT dễ bị tấn công. Đây cũng là lý do tại sau chúng được được xếp hạng mức độ nghiêm trọng cao.
Nhóm chuyên gia nghiên cứu bảo mật của Microsoft đã tìm thấy 25 lỗ hổng BadAlloc này trong cụm các chức năng cấp phát bộ nhớ tiêu chuẩn được sử dụng rộng rãi trong nhiều hệ điều hành thời gian thực (RTOS), thư viện triển khai tiêu chuẩn C (libc) và bộ công cụ phát triển phần mềm nhúng (SDK).
"Nghiên cứu của chúng tôi cho thấy rằng nhiều quy trình triển khai cấp phát bộ nhớ được viết trong suốt nhiều năm qua như một phần của các thiết bị IoT và phần mềm nhúng đã gặp lỗi trong quá trình kết hợp các xác thực đầu vào phù hợp", đại diện đội ngũ Microsoft Security Response Center cho biết. "Nếu không có các xác thực đầu vào này, kẻ tấn công hoàn toàn có thể khai thác chức năng cấp phát bộ nhớ để thực hiện một sự cố tràn bộ đệm (heap overflow), dẫn đến việc thực thi mã độc hại từ xa trên thiết bị mục tiêu".
Các thiết bị dễ bị tấn công BadAlloc
Đa số các thiết bị IoT và OT dễ bị ảnh hưởng bởi các lỗ hổng BadAlloc nêu trên hiện đang được sử dụng rộng rãi trong những lĩnh vực mạng tiêu dùng, y tế và công nghiệp.
Danh sách đầy đủ các thiết bị bị ảnh hưởng bởi BadAlloc bao gồm:
- Amazon FreeRTOS, Phiên bản 10.4.1
- Apache Nuttx OS, Phiên bản 9.1.0
- ARM CMSIS-RTOS2, các phiên bản trước 2.1.3
- ARM Mbed OS, phiên bản 6.3.0
- ARM mbed-uallaoc, Phiên bản 1.3.0
- Cesanta Software Mongoose OS, v2.17.0
- eCosCentric eCosPro RTOS, Phiên bản 2.0.1 đến 4.5.3
- Google Cloud IoT Device SDK, Phiên bản 1.0.2
- Linux Zephyr RTOS, các phiên bản trước 2.4.0
- Media Tek LinkIt SDK, các phiên bản trước 4.6.1
- Micrium OS, Phiên bản 5.10.1 và trước đó
- Micrium uCOS II/uCOS III Phiên bản 1.39.0 và trước đó
- NXP MCUXpresso SDK, các phiên bản trước 2.8.2
- NXP MQX, Phiên bản 5.1 trở về trước
- Redhat newlib, các phiên bản trước 4.0.0
- RIOT OS, Phiên bản 2020.01.1
- Samsung Tizen RT RTOS, phiên bản trước 3.0.GBB
- TencentOS-tiny, Phiên bản 3.1.0
- Texas Instruments CC32XX, các phiên bản trước 4.40.00.07
- Texas Instruments SimpleLink MSP432E4XX
- Texas Instruments SimpleLink-CC13XX, các phiên bản trước 4.40.00
- Texas Instruments SimpleLink-CC26XX, các phiên bản trước 4.40.00
- Texas Instruments SimpleLink-CC32XX, các phiên bản trước 4.10.03
- Uclibc-NG, các phiên bản trước 1.0.36
- Windriver VxWorks, trước 7.0
Để giảm thiểu rủi ro, các tổ chức đang sử dụng thiết bị dễ bị tấn công BadAlloc nên:
- Áp dụng các bản cập nhật có sẵn của nhà cung cấp.
- Giảm thiểu sự tiếp xúc với với mạng của tất cả các thiết bị hoặc hệ thống điều khiển, và đảm bảo rằng chúng không thể truy cập được từ Internet.
- Xác định vị trí mạng hệ thống điều khiển và các thiết bị từ xa phía sau tường lửa, đồng thời cách ly chúng khỏi mạng doanh nghiệp.
- Khi cần truy cập từ xa, hãy sử dụng các phương pháp bảo mật, chẳng hạn như mạng riêng ảo (VPN).
Nếu các thiết bị dễ bị tấn công không thể được vá ngay lập tức, Microsoft khuyến nghị:
- Thu hẹp bề mặt tấn công bằng cách giảm thiểu hoặc loại bỏ sự tiếp xúc của các thiết bị dễ bị tấn công với mạng internet;
- Thực hiện giám sát an ninh mạng để phát hiện các chỉ số hành vi xâm phạm;
- Tăng cường phân đoạn mạng để bảo vệ các dữ liệu quan trọng.