2 điểm bởi GN⁺ 2024-12-10 | 1 bình luận | Chia sẻ qua WhatsApp

Giới thiệu

  • Kỹ sư bảo mật RyotaK của Flatt Security Inc. đã phát hiện lỗ hổng bảo mật trong quá trình nâng cấp firmware của OpenWrt.
  • OpenWrt là firmware dựa trên Linux dành cho thiết bị nhúng, đặc biệt phổ biến trên router.

sysupgrade.openwrt.org

  • sysupgrade.openwrt.org là dịch vụ trực tuyến cho phép người dùng chọn các gói mong muốn để tạo ảnh firmware mới.
  • Quá trình build ảnh từ mã nguồn do người dùng cung cấp có thể phát sinh vấn đề bảo mật.

Tiêm lệnh

  • Máy chủ sysupgrade.openwrt.org là một dự án mã nguồn mở, với mã nguồn được lưu trữ tại openwrt/asu.
  • Máy chủ dùng container để cô lập môi trường build, nhưng đã phát hiện lỗ hổng cho phép thực thi lệnh tùy ý thông qua đầu vào của người dùng.

Va chạm SHA-256

  • Trong quá trình tạo hash cho yêu cầu, hash SHA-256 bị cắt xuống còn 12 ký tự để sử dụng.
  • Thông qua va chạm hash, có thể đánh lừa máy chủ trả về sai build artifact.

Brute-force SHA-256

  • Đã triển khai một chương trình dùng OpenCL để brute-force hash trên GPU, nhưng hiệu năng không tốt.
  • Sau đó đã thành công trong việc tìm va chạm 12 ký tự bằng Hashcat.

Kết hợp hai cuộc tấn công

  • Cuộc tấn công được thực hiện bằng cách tìm payload tiêm lệnh có cùng hash với danh sách gói hợp lệ.
  • Kẻ tấn công có thể buộc người dùng nâng cấp lên firmware độc hại.

Báo cáo vấn đề

  • Sau khi báo cáo vấn đề cho đội ngũ OpenWrt, dịch vụ đã tạm dừng và được vá rất nhanh.
  • Một thông báo cũng được gửi tới người dùng để kiểm tra xem thiết bị có bị ảnh hưởng hay không.

Kết luận

  • Có thể xâm phạm dịch vụ sysupgrade.openwrt.org thông qua tiêm lệnh và va chạm SHA-256.
  • Cảm ơn đội ngũ OpenWrt đã phản hồi nhanh và thông báo kịp thời cho người dùng.

Quảng cáo

  • Flatt Security cung cấp dịch vụ đánh giá bảo mật và kiểm thử xâm nhập, đồng thời đưa ra ưu đãi đặc biệt nhân dịp cập nhật trang web mới.
  • Công ty cũng cung cấp Shisho Cloud, một công cụ đánh giá bảo mật mạnh mẽ.

1 bình luận

 
GN⁺ 2024-12-10
Ý kiến Hacker News
  • Việc hợp thức hóa thực thi mã được tùy biến cho từng người dùng hoặc từng thiết bị có một điểm yếu là không thể kiểm chứng, và không thể xác nhận rằng bản dựng đó không chứa backdoor

    • Điều quan trọng là dùng cùng bản dựng như vụ xz-utils, hoặc dùng bản dựng để các nhà nghiên cứu bảo mật có thể xác minh liệu có sự xâm nhập chuỗi cung ứng hay không
    • Mozilla từng thử công khai ghi nhận các bản dựng phát hành vào Merkle tree nhưng đã dừng lại
    • Google đã viết phần triển khai cho các bản dựng firmware Pixel, nhưng ứng dụng phân phối qua Google Play Store vẫn có thể dễ bị ảnh hưởng
    • Apple còn tệ hơn Google vì không cung cấp minh bạch các bản dựng được tùy biến cho từng thiết bị
    • Kho ebuild của Gentoo là một ví dụ về tính minh bạch nhị phân được triển khai tốt, và là một trong những Merkle tree lớn nhất và phân tán nhất của phần mềm nguồn mở
  • Việc dùng ".join" có thể nguy hiểm

    • Có thể di chuyển ký tự giữa các trường liền kề mà hash vẫn không thay đổi
    • Không trực tiếp làm tổn hại hệ thống, nhưng có thể làm hỏng bộ nhớ đệm hoặc dẫn đến hạ cấp
  • Mã nguồn mở không thể cạnh tranh với mã nguồn đóng cấp doanh nghiệp

    • Vấn đề đã được sửa trong 3 giờ, thay vì để khách hàng chờ bản vá suốt 6 tháng
    • Không kiện người đã báo cáo vấn đề
    • Không bảo người dùng vứt bỏ thiết bị "lỗi thời" nhưng vẫn hoạt động hoàn hảo
  • Thuật ngữ "chuỗi cung ứng" không xuất hiện trong bài đăng blog

    • "Chuỗi cung ứng" là hệ thống logistics phức tạp biến đổi nguyên liệu thô thành thành phẩm và phân phối đến người tiêu dùng cuối cùng
    • Có câu hỏi liệu đây là hệ thống dành cho các nhà cung cấp thương mại của OpenWRT hay cho người tiêu dùng cuối
  • Các công cụ nguồn mở đã được điều chỉnh để phục vụ mục đích ngoài thiết kế ban đầu

    • Các tập đoàn lớn sẽ kiện tụng để xử lý vấn đề và sẽ không bao giờ công khai bản vá
    • Sau khi nhận được thông tin, OpenWRT đã đưa dịch vụ không an toàn ra khỏi mạng và phát hành bản vá chỉ 3 giờ sau khi xác minh báo cáo
  • Thắc mắc không biết ý tưởng cắt ngắn hash xuất phát từ đâu

    • Khó hiểu được mục đích hay lợi ích của việc đó là gì
  • Ngạc nhiên vì cần rất nhiều sức mạnh GPU để tìm va chạm ngắn

    • Có thắc mắc liệu 40k mỗi tháng cho phân tích bảo mật có phải là mức giá hợp lý hay không
    • Có câu hỏi liệu một nhà nghiên cứu bảo mật giỏi có thể kiếm khoảng 500k mỗi năm hay không
  • Đã ngay lập tức nhận ra độ dài hash bị cắt từ 64 ký tự xuống còn 12 ký tự

  • Có câu hỏi vì sao hiệu năng của hashcat lại khác biệt lớn tùy theo thứ tự đối số

    • Có thắc mắc liệu mỗi lần chạy nó có quét mẫu đích hay không
  • Đây là một bài viết rất hay về khả năng đọc mã và phát triển khai thác cực kỳ thông minh