Các nhà nghiên cứu đã phát hiện nhiều lỗ hổng trong thiết bị nhà bếp đa năng Thermomix TM5 của Vorwerk. Những lỗ hổng này có thể cho phép kẻ tấn công kiểm soát thiết bị từ xa thông qua việc thao túng firmware và thực thi mã độc dai dẳng.
Kiến trúc Thiết bị và Phân tích Ban đầu
Bo mạch chủ của thiết bị được cung cấp năng lượng bởi Freescale/NXP i.MX28 SoC với nhân ARM926EJ-S, tích hợp bộ nhớ NAND flash (Toshiba TC58NVG0S3HTA00) và DDR2 SDRAM. Sau khi loại bỏ lớp phủ bảo vệ, các bộ nhớ này đã được trích xuất và kiểm tra.
Phân tích NAND Flash
Bộ nhớ NAND sử dụng bộ điều khiển GPMI tùy chỉnh với tính năng lồng ghép metadata để đảm bảo tính toàn vẹn, điều này gây phức tạp cho việc đọc trực tiếp. Tuy nhiên, các công cụ như imx-nand-tools đã giúp trích xuất các khối điều khiển khởi động (BCBs), bao gồm các Khối cấu hình Firmware (FCBs) và Bảng khối lỗi đã phát hiện (DBBTs), được bảo vệ bằng ECC phần mềm.
Quá trình này đã tiết lộ các hệ thống tệp và khóa được mã hóa, chẳng hạn như mã hóa AES-128 CBC trong tệp /opt/cookey.txt. Khóa này được sử dụng để giải mã các module USB từ tính “cook stick” chứa cơ sở dữ liệu công thức nấu ăn.
Giải mã Dữ liệu Cook Stick và Cơ sở dữ liệu Công thức
Bằng cách đảo ngược kỹ thuật trình điều khiển Data Co-Processor (DCP) của kernel, các khóa cứng cmp_key và act_key đã được trích xuất. Điều này tạo điều kiện thuận lợi cho việc giải mã các phân vùng ext4 của cook stick bằng cryptsetup, từ đó tiếp cận các cơ sở dữ liệu SQLite đã ký (ext.sdb) và các tài sản hình ảnh theo chủ đề. Mặc dù vậy, các chữ ký ngăn chặn việc sửa đổi dễ dàng.
Phân tích Phụ kiện Cook Key
Phân tích sâu hơn phụ kiện Cook Key, cho phép kết nối Wi-Fi và tải công thức từ đám mây, đã xác định đây là một USB hub với bộ điều khiển LED PIC16F1454, module WLAN Marvell 88W8786U và một ổ đĩa flash UDP không mã hóa chứa các phân vùng ext4 với các bản cập nhật firmware (tm5.img).
Việc giả lập thông qua các bo mạch PCB tùy chỉnh và thiết lập Raspberry Pi đã cho phép thử nghiệm các thiết bị ảo, bỏ qua nhu cầu về phần cứng vật lý.
Lỗ hổng trong Quá trình Cập nhật Firmware
Quá trình cập nhật firmware, được xử lý bởi tiện ích /usr/sbin/checkimg, sử dụng mã hóa AES-EAX với các phần được ký bằng RSA. Tuy nhiên, các nonces (số lần sử dụng một lần) và tag (thẻ xác thực) lại không được ký, điều này cho phép kẻ tấn công thao túng.
Thao túng Nonce và Bỏ qua Bảo vệ Hạ cấp
Kẻ tấn công có thể thao túng các nonces để kiểm soát khối plaintext đầu tiên, thực hiện tấn công brute-force vào các byte padding để đặt force_flag=1 trong phần phiên bản. Điều này cho phép bỏ qua các biện pháp bảo vệ chống hạ cấp cho các phiên bản trước 2.14.
Theo báo cáo của Synacktiv, lỗ hổng này khai thác khóa AES đã biết được trích xuất từ checkimg, đảo ngược OMAC và AES để tạo ra các nonces tùy chỉnh. Điều này được chứng minh trong các script Python có khả năng giả mạo ngày phiên bản như “197001010000” trong khi vẫn tính toán lại các tag.
Thực thi Mã độc Dai dẳng
Kết hợp với quy trình khởi động an toàn (secure boot) không đầy đủ, thiếu kiểm tra tính toàn vẹn của rootfs (hệ thống tệp gốc) mặc dù có các luồng khởi động được mã hóa bằng DCP, kẻ tấn công có thể vá rootfs để duy trì quyền kiểm soát.
Bằng cách trích xuất và sửa đổi các tệp cập nhật, bao gồm cả việc chiếm quyền checkimg để chấp nhận các chữ ký RSA tùy chỉnh, việc thực thi mã tùy ý có thể đạt được sau khi khởi động lại thông qua các script như /opt/update.sh.
Quá trình Khởi động và Khôi phục Khóa
Quá trình khởi động, tải từ ROM mà không có dm-verity, giải mã các phần bằng cách sử dụng các khóa được ghi vào OTP (One-Time Programmable). Các khóa này có thể truy xuất được thông qua công cụ kobs-ng, từ đó làm lộ nhân Linux (phiên bản 2.6.35.14) để phân tích thêm.
Nguyên nhân Gốc rễ và Biện pháp Giảm thiểu
Các lỗ hổng này bắt nguồn từ các nonces có thể bị giả mạo, các khóa AES có thể trích xuất được và việc thiếu xác minh rootfs. Điều này có thể dẫn đến việc khai thác từ xa nếu kẻ tấn công đạt được quyền truy cập vật lý ban đầu thông qua các thiết bị giả lập hoặc các vector tấn công đám mây. Tuy nhiên, tác động bị hạn chế bởi cấu hình công suất thấp của thiết bị và việc thiếu các cảm biến phức tạp.
Vorwerk đã vá lỗi hoán đổi các phần trong phiên bản 2.14 bằng cách liên kết các chữ ký. Tuy nhiên, các mẫu Thermomix TM5 cũ hơn vẫn dễ bị tấn công.
Người dùng nên cập nhật firmware và theo dõi các phụ kiện không được ủy quyền để giảm thiểu rủi ro. Điều này cũng nhấn mạnh sự cần thiết của việc ràng buộc mã hóa mạnh mẽ và quy trình khởi động an toàn toàn diện trong các thiết bị IoT.










