Vượt qua bảo vệ đọc flash của STMicroelectronics STM32F1 làm lộ firmware

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Giới thiệu chung

Dữ liệu gốc

Các thiết bị STMicroelectronics STM32F1 có Kiểm soát truy cập không chính xác.

Sản phẩm và phạm vi ảnh hưởng

  • Bản ghi đánh dấu st:stm32f1_firmware là affected nhưng không cung cấp version range, version cụ thể hoặc default-status qualifier.
  • Tài liệu kỹ thuật áp dụng cho dòng STMicroelectronics STM32F1 và minh họa ảnh hưởng trên nhiều biến thể trong dòng, nhưng không xác định danh sách đầy đủ mọi thiết bị bị ảnh hưởng.
  • Không có fixed release, bản vá hoặc ranh giới giữa các nhánh phát hành được xác nhận trong dữ liệu cung cấp.

Chi tiết kỹ thuật

STMicroelectronics STM32F1 có lỗi kiểm soát truy cập trong cơ chế flash read-out protection (RDP). RDP chặn các thao tác đọc dữ liệu flash qua debug interface, nhưng quy trình xử lý exception của CPU vẫn có thể đọc dữ liệu flash qua ICode bus. Kẻ tấn công có quyền truy cập vật lý vào debug interface có thể tạo hoặc kích hoạt các exception để CPU nạp các giá trị từ vector table vào thanh ghi chương trình, qua đó làm lộ nội dung flash qua trạng thái debug. Việc di chuyển vector table bằng VTOR cho phép cơ chế này tiếp cận nhiều vùng khác nhau trong flash, thay vì chỉ đọc vị trí mặc định. Nghiên cứu công khai cho thấy có thể trích xuất phần lớn nội dung flash của nhiều biến thể STM32F1 trong thời gian thực tế. Chi tiết triển khai của một bản sửa lỗi hoặc một ranh giới đầy đủ cho mọi biến thể STM32F1 chưa được xác định.

Khả năng khai thác

Điều kiện khai thác cụ thể được nguồn kỹ thuật xác lập là quyền truy cập vật lý vào debug interface, chẳng hạn giao diện SWD, chứ không phải quyền người dùng trong ứng dụng. Nguồn kỹ thuật mô tả khai thác non-invasive và cho biết mã nguồn nghiên cứu đã được công bố; bản ghi được cung cấp cũng đánh dấu có public exploit. Không cần tương tác người dùng trong ứng dụng được mô tả, và không có yêu cầu xác thực ứng dụng nào được nêu. Metadata chấm điểm trong bản ghi mô tả một đường tấn công qua network, nhưng tài liệu kỹ thuật chỉ xác lập điều kiện truy cập debug interface vật lý; đường tấn công network-only chưa được tài liệu kỹ thuật này chứng minh. Bản ghi không xác lập tình trạng khai thác thực tế trong môi trường triển khai.

Tác động kỹ thuật

Kết quả kỹ thuật chính là kẻ tấn công có thể đọc trái phép phần lớn nội dung flash được RDP bảo vệ thông qua debug interface và hành vi vector fetch của CPU. Điều này tạo ra mất confidentiality đối với firmware và dữ liệu được lưu trong flash, trong khi phạm vi chính xác phụ thuộc vào biến thể STM32F1 và số lượng vector hoặc interrupt có thể khai thác. Việc lộ firmware có thể dẫn đến mất intellectual property, lộ cryptographic material hoặc hỗ trợ sao chép và phân tích sản phẩm. Quyền sửa đổi firmware, thay đổi integrity hoặc gây mất availability không được bản ghi và tài liệu kỹ thuật xác lập. Điều kiện truy cập vật lý làm giảm phạm vi tiếp xúc so với một lỗ hổng ứng dụng từ xa, nhưng vẫn đáng kể đối với thiết bị ngoài hiện trường hoặc thiết bị có debug pads lộ ra.

Tác động đến tổ chức

Lộ flash có thể làm mất tính bí mật của firmware, intellectual property, cryptographic material hoặc credential được lưu trong thiết bị. Những dữ liệu này có thể hỗ trợ việc sao chép sản phẩm, reverse engineering hoặc ảnh hưởng đến các cơ chế xác thực phụ thuộc vào bí mật được lưu trong firmware, nhưng bản ghi không xác nhận một vụ xâm phạm cụ thể.

  • Phạm vi thực tế tập trung vào các thiết bị mà kẻ tấn công có thể tiếp cận debug interface, nên thiết kế cơ khí, vị trí triển khai và quy trình bảo trì là yếu tố quyết định.
  • Tác động được tài liệu hóa chủ yếu là disclosure of information. Bản ghi và tài liệu kỹ thuật không xác lập việc sửa đổi firmware hoặc làm gián đoạn dịch vụ trực tiếp.

Cách khắc phục

  1. Ngăn chặn truy cập vật lý vào debug interface. Đây là biện pháp được tài liệu kỹ thuật xác định là cách đã biết để giữ toàn bộ nội dung flash không bị lộ khi cơ chế RDP không đủ tin cậy.
  2. Không sử dụng STM32F1 RDP như biện pháp duy nhất để bảo vệ tính bí mật của firmware hoặc secret. Cần xử lý các chân SWD, header và test point trong thiết kế phần cứng, vỏ thiết bị và quy trình bảo trì sao cho người không được phép không thể tiếp cận chúng.
  3. Rà soát các thiết bị đã triển khai có thể bị tiếp cận trong quá trình vận chuyển, bảo dưỡng hoặc thu hồi. Ưu tiên thay đổi thiết kế hoặc cơ chế bảo vệ trong các trường hợp không thể bảo đảm kiểm soát vật lý.
  4. Không có fixed release hoặc bản vá cụ thể được xác nhận cho bản ghi này. Không nên suy luận rằng một phiên bản hoặc nhánh STM32F1 khác đã an toàn nếu chưa có xác nhận riêng từ nguồn có thẩm quyền.

Cách phát hiện

  1. Kiểm kê các thiết bị và bo mạch đang sử dụng STMicroelectronics STM32F1, cùng firmware bảo vệ tài sản nhạy cảm bằng RDP.
  2. Kiểm tra thiết kế phần cứng để xác định các chân, header, test point hoặc đầu nối của debug interface, đặc biệt là SWD, có thể tiếp cận khi thiết bị đã triển khai hay không.
  3. Xác minh cấu hình vận hành có phụ thuộc vào flash read-out protection để giữ bí mật firmware, khóa mật mã hoặc dữ liệu nhạy cảm hay không.
  4. Phân loại nội dung có thể bị lộ trong flash, gồm intellectual property, firmware và cryptographic material; đây là bước đánh giá tác động, không phải bằng chứng rằng thiết bị đã bị đọc.
  5. Trong quá trình đánh giá được ủy quyền, xem xét hành vi của debug interface và trạng thái CPU khi exception handling đọc vector table. Không nên suy luận thiết bị an toàn chỉ vì không có log ứng dụng hoặc log network, vì đường khai thác được mô tả sử dụng debug interface vật lý.
  6. Ghi nhận các thiết bị không thể kiểm tra trực tiếp là chưa xác định trạng thái, không coi việc bật RDP trên giấy tờ là bằng chứng rằng toàn bộ flash vẫn bí mật.
Nguồn (14)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.