2 điểm bởi GN⁺ 4 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Creative Sound Blaster Katana V2X có thể bị kẻ tấn công trong phạm vi Bluetooth khoảng 15m biến thành thiết bị giám sát hoặc một Rubber Ducky từ xa bằng cách thực thi lệnh CTP và cập nhật firmware mà không cần ghép đôi hay tiếp xúc vật lý
  • CTP qua USB yêu cầu xác thực challenge-response dựa trên khóa tĩnh, nhưng đường Bluetooth lại nhận cùng các lệnh CTP qua GATT characteristic mà không cần xác thực, cho phép đọc thông tin và thay đổi cấu hình
  • Container firmware gồm FBOOT, FMAIN, CHK2, và sẽ chấp nhận firmware đã bị vá nếu CHK2 là checksum SHA-256 khớp, không có bước xác minh chữ ký
  • PoC đã tải firmware tùy biến qua BLE trong khoảng 10 phút, sau đó chiếc loa khởi động lại và tự nhận là bàn phím HID USB để gõ rồi thực thi echo pwned
  • Creative sau khi được liên hệ qua SingCERT đã cho rằng đây “không tạo ra rủi ro an ninh mạng”, nên không xem là lỗ hổng; firmware mới nhất vẫn bị ảnh hưởng và chỉ có bản vá không chính thức để chặn CTP-over-Bluetooth

Cốt lõi của lỗ hổng

  • Katana V2X là một soundbar kết nối với PC qua USB, và ứng dụng Creative dùng CTP để thay đổi các thiết lập như DSP, cấu hình LED và nguồn đầu ra
  • Để gửi lệnh CTP qua USB, trước tiên phải qua xác thực challenge-response, và khóa là một giá trị tĩnh có thể suy ra từ file nhị phân đi kèm trong Creative App
  • Việc cập nhật firmware cũng chạy trên CTP, và ảnh firmware ban đầu được trích xuất bằng cách bắt lưu lượng USB bằng Wireshark
  • Trên Bluetooth Low Energy, đôi khi có thể kết nối tới thiết bị và đọc/ghi GATT characteristic mà không cần ghép đôi; ghép đôi tạo mã hóa nhưng không phải lúc nào cũng là điều kiện bắt buộc để kết nối
  • Trong firmware của Katana V2X, trình xử lý CTP nội bộ được nối không chỉ với USB mà còn với Bluetooth; khi ghi 5a 09 01 02 vào characteristic 9e9daaec-3a10-4fe8-b69f-7397aff77886 từ laptop, có thể đọc được toàn bộ chuỗi phiên bản firmware từ characteristic 9e9daaeb-3a10-4fe8-b69f-7397aff77886

Xác minh firmware và chuỗi tấn công OTA

  • Container firmware có FBOOT liên quan đến chế độ khôi phục, firmware chính FMAIN chạy ở chế độ khởi động bình thường, và CHK2 là checksum SHA-256 cho toàn bộ container
  • FBOOTFMAIN là mã dựa trên FreeRTOS, như chuỗi /home/jieyi/mcuos2.5/kernel/freertos-8.2.3/ cho thấy, và FMAIN lớn hơn FBOOT khoảng 6,5 lần
  • Thiết bị chấp nhận firmware đã vá miễn là CHK2 hợp lệ; khi nạp firmware đổi chuỗi WELCOME thành PATCHED, màn hình 7 đoạn lúc khởi động đã hiển thị PATCHED
  • Một script Python tái hiện cùng quy trình cập nhật firmware qua BLE đã tải lên firmware tùy biến mà không cần ghép đôi hay xác thực, và do tốc độ BLE nên mất khoảng 10 phút để hoàn tất
  • Loa có microphone, nên về mặt lý thuyết firmware tùy biến có thể biến nó thành thiết bị giám sát bí mật, nghe lén hội thoại rồi gửi cho bên nhận qua Bluetooth

Cách chèn bàn phím USB

  • Katana V2X trong cấu hình thông thường hoạt động như một thiết bị tin cậy được kết nối với PC qua USB
  • Dù chưa phải là bàn phím đầy đủ, thiết bị đã tự cấu hình thành một HID Consumer Control để điều khiển media như âm lượng và phát/tạm dừng
  • Có thể thêm mục report descriptor thứ hai vào USB report descriptor của firmware để thiết bị cũng được nhận diện như một bàn phím
  • Trong firmware đã có sẵn routine gửi dữ liệu HID, và chỉ cần gọi nó với dữ liệu phím nhấn/thả để gửi thao tác gõ phím
  • Thay vì vòng vèo qua luồng thực thi phức tạp, tác giả đã ghi đè tác vụ FreeRTOS diagnostic, vốn dường như không làm gì đáng kể trong sử dụng bình thường, để chạy mã tùy biến khi khởi động
  • Tác vụ đó chờ khoảng 20 giây để hệ USB sẵn sàng, rồi với khoảng cách khoảng 20ms sẽ gõ echo pwned, nhấn Enter và kết thúc
  • Bản vá cuối cùng gồm 83 byte USB report, 102 byte mã assembly ARM/Thumb cho bộ chèn phím, và 2 byte cho mỗi phím cần gửi
  • Trong tấn công thực tế, có thể mở chương trình như powershell.exe rồi dán một lệnh độc hại một dòng; nếu kẻ tấn công vô hiệu hóa routine cập nhật firmware ở cả chế độ thường lẫn chế độ khôi phục, việc gỡ firmware độc hại và vá sau này có thể trở nên bất khả thi
  • Bluetooth của loa luôn bật ngay cả ở chế độ tiết kiệm điện, và dường như không có cách tắt

Giảm thiểu và quá trình công bố

  • Creative không có đầu mối liên hệ bảo mật công khai, và ngoài biểu mẫu hỗ trợ trên website thì cũng khó tìm được kênh liên hệ thông thường
  • Sau hai lần thử liên hệ qua biểu mẫu hỗ trợ, SingCERT đã tham gia làm trung gian
  • Creative phản hồi với SingCERT gần hai tháng sau đó và trả lời rằng “không tạo ra rủi ro an ninh mạng nên không xem là lỗ hổng”
  • Không có bản vá do Creative cung cấp, và firmware mới nhất vẫn bị ảnh hưởng
  • Biện pháp giảm thiểu không chính thức chặn CTP-over-Bluetooth trong firmware, nhưng thay đổi này nhiều khả năng sẽ làm hỏng ứng dụng di động Creative
  • v2x-patcher tải firmware chính thức từ máy chủ Creative, vá nó trong bộ nhớ, rồi tải lên Katana V2X được kết nối qua USB
  • Mọi thử nghiệm và quá trình reverse engineering đều được thực hiện trên firmware phiên bản 1.3.230619.1820

Chi tiết reverse engineering

  • FMAIN.bin không phải là một ảnh đơn mà dùng cấu trúc scatter-loaded, trong đó các offset file khác nhau được nạp vào các địa chỉ khác nhau
  • Phân tích tự động của Ghidra cần đúng địa chỉ base và memory map; sau khi suy luận và áp dụng layout đã được xác minh bằng cách đọc bộ nhớ thiết bị, kết quả phân tích mới hợp lệ
  • Con trỏ chuỗi không được nạp trực tiếp mà qua cặp movwmovt; một script tìm các cặp được nạp vào cùng thanh ghi và tạo tham chiếu DATA khi chúng trỏ tới vùng nhớ hợp lệ đã tạo ra khoảng 13.000 tham chiếu
  • Để thử nghiệm mà không phải nạp lại firmware mỗi lần, tác giả đã ghi đè echo handler của opcode CTP 0x54 để xử lý các lệnh đọc, ghi và thực thi
  • Trình xử lý tùy biến cuối cùng dài 96 byte, vừa trong kích thước khoảng 106 byte của handler gốc
  • Khi thực thi nhiều thao tác gõ phím bằng mem-exec trong ngữ cảnh tác vụ xử lý USB, các độ trễ vTaskDelay bị cộng dồn khiến thiết bị khởi động lại do watchdog theo từng tác vụ
  • Khi chèn mã gõ phím vào tác vụ dịch vụ diagnostic thay vì gọi trực tiếp từ tác vụ USB, vấn đề watchdog đã biến mất

1 bình luận

 
Ý kiến trên Hacker News
  • Buồn cười ở chỗ có những bình luận rõ ràng là chưa đọc kỹ, hoặc thậm chí chưa đọc bài. Về bản chất thì đây giống như một bucket S3 công khai trên bo mạch thiết bị Bluetooth
    Dù vậy, bản thân công trình này thực sự rất ấn tượng. Tôi cứ nghĩ việc biến một thiết bị kết nối qua USB thành đường tấn công sẽ khó hơn nhiều, nhưng hóa ra chỉ cần giả làm bàn phím, mở terminal cục bộ rồi chạy lệnh độc hại là đủ, nghe khá buồn cười. Vì đó không phải terminal có quyền quản trị nên thiệt hại sẽ bị giới hạn phần nào, nhưng trên Windows thì người dùng thường cứ bấm qua prompt UAC, nên có lẽ trên khá nhiều PC vẫn có thể giành được toàn quyền truy cập

  • Theo email từ SingCERT, nhà cung cấp đã nói rằng “điều này không tạo ra rủi ro an ninh mạng nên chúng tôi không xem đây là lỗ hổng”. Tức là có thể ghi firmware tùy ý qua sóng không dây vào một thiết bị đang cắm USB vào máy tính của người khác, không cần cả ghép cặp, mà vẫn không phải là lỗ hổng bảo mật sao

    • Kiểu như: “Nó chỉ có thể gõ chữ thôi mà, thì có gì nguy hiểm đâu?”
      Điều này làm tôi tự hỏi có bao nhiêu công ty thiết bị ngoại vi khác thực chất đang vận hành không hề có đội bảo mật. Có lẽ còn rất nhiều lỗ hổng kiểu này, chỉ là chưa bị phát hiện thôi. Em trai tôi từng bị đánh thức lúc 2 giờ sáng vì lũ trẻ trong khu kết nối vào loa Bluetooth rồi bật tiếng đánh rắm lặp đi lặp lại ở âm lượng tối đa; đó chắc cũng chỉ là phần nổi của tảng băng về việc lạm dụng Bluetooth theo hướng ác ý
    • Nếu ai đó tới showroom của Creative, sự kiện bán hàng, hay CES rồi “vá” toàn bộ thiết bị, câu trả lời kia sẽ đổi rất nhanh
    • Câu trích dẫn về rủi ro đó có vẻ hiểu sai hoàn toàn khái niệm rủi ro. Trước tiên phải có lỗ hổng, rồi mới gắn thêm tác động và khả năng xảy ra thì mới thành rủi ro
      Theo định nghĩa, luôn tồn tại những lỗ hổng có rủi ro thấp vì tác động thấp hoặc xác suất thấp. CVE có chấm điểm, nhưng rủi ro thực tế và việc có chấp nhận rủi ro trước hay sau giảm thiểu hay không lại do ngữ cảnh sử dụng quyết định. “Không có rủi ro => không có lỗ hổng” là một suy luận sai ngay từ thiết kế, còn “không có lỗ hổng => không có rủi ro” thì còn có thể đồng ý phần nào
    • Điều tương tự có thể nói về bất kỳ máy tính nào chạy macOS hay Windows. Bản thân việc có thể chạy phần mềm của chính mình không nhất thiết là lỗ hổng
      Nhưng việc giao diện reflash lại mở qua Bluetooth thì rất kỳ lạ. Theo tôi biết thì để ghép cặp với loa phải cần truy cập vật lý
      Sửa: tôi đã nhầm. Đây là một endpoint BTLE hoạt động không cần ghép cặp. Nếu vậy thì đúng là một lỗ hổng vô lý. Mong là họ vá theo cách không tước đi khả năng chạy phần mềm của chính mình
    • Tôi thậm chí không nhớ trước đây mình từng biết gì về Creative Labs, nhưng ngay khi đọc vụ này tôi đã có niềm tin chắc chắn rằng Creative Labs bằng cách nào đó sẽ xử lý tệ hại
  • Bài viết được trình bày tốt và rất dễ hiểu, đáng để lướt qua
    Tóm lại, tác giả đã tìm ra cách ghi đè firmware tùy ý qua Bluetooth lên soundbar Creative Sound Blaster Katana V2X mà hầu như không cần xác thực hay tương tác người dùng thực chất nào
    Vì soundbar này kết nối trực tiếp với máy chủ qua USB, nên họ có thể thêm descriptor vào firmware để nó được nhận diện như một bàn phím. Sau đó thì việc gửi phím bấm tới PC rất đơn giản. Soundbar cũng có microphone, nên kẻ tấn công còn có thể biến nó thành thiết bị nghe lén
    Tác giả đã báo cho Creative và SingCERT, nhưng phải 2 tháng sau công ty mới trả lời rằng “điều này không tạo ra rủi ro an ninh mạng nên chúng tôi không xem đây là lỗ hổng”
    Tác giả đã phát hành một trình vá firmware để vô hiệu hóa giao thức truyền bị lỗi. Đây là một cách làm khá thô bạo, có thể làm hỏng cả chức năng của ứng dụng Bluetooth chính thức, nhưng có vẻ là điều tốt nhất có thể làm được khi không có sự hợp tác từ nhà sản xuất

  • Ngay cả các nhà sản xuất lâu năm cũng khá thường xuyên làm thiết bị trước rồi coi phần mềm như việc xử lý hậu kỳ. Họ gần như không để tâm tới bảo mật, cũng như vòng đời phần mềm như vá lỗi, cập nhật hay thích ứng với hệ sinh thái đang thay đổi
    Tôi còn từng thấy trường hợp thương hiệu thiết bị giao phần mềm cho một công ty outsource nhỏ, rồi công ty đó đóng cửa, biến mất hoặc ngừng kinh doanh, đến mức nhà sản xuất thậm chí không còn giữ cả mã nguồn. Khi đó họ cũng mất luôn khả năng cải tiến hay sửa phần mềm vận hành thiết bị, và rồi middleware, UI cùng các lớp kết nối tạm bợ cứ thế chồng chất lên nhau

    • Chuyện này xảy ra thường xuyên đến mức đáng sợ. Trong bối cảnh hiện nay, khi các phụ kiện máy tính/điện thoại giá rẻ được bán ra với số lượng khổng lồ từng phút, cũng không có cách thực tế nào để một cơ quan nào đó giám sát và quản lý hết mọi thứ
      Thực tế có lẽ không ít thiết bị mà firmware không phải do “nhà phát triển outsource nhỏ” viết, mà là kiểu hacker trong chuỗi cung ứng
  • Sao lại nghĩ nhỏ thế? Có thể dùng chính cái loa làm tác nhân tấn công mà
    Bất kỳ script kiddie nào dùng LLM cũng có thể tạo ra một worm lan qua chuỗi cung ứng. Thậm chí có thể hack ngay loa trên sàn nhà máy rồi bắt nó phát nhạc Rickroll hay thứ tương tự
    Không biết đến lúc đó Creative có còn khẳng định là “không tạo ra rủi ro an ninh mạng” nữa không
    Thêm điểm cộng nếu trong lúc đóng lỗ hổng bảo mật lại vô hiệu hóa luôn cả chức năng flash firmware hợp lệ, khiến chính nhà sản xuất cũng phải jailbreak loa mới sửa được

    • Chỉ cần flash worm vào thiết bị rồi gửi đi RMA là xong
    • Trước đây có lẽ làm được. Các mẫu mới thì ngày càng áp giới hạn mạnh hơn, loại bỏ mẫu cũ, thậm chí còn đòi cả giấy tờ tùy thân do chính phủ cấp
  • Việc nhà sản xuất không coi đây là lỗ hổng, đến mức tác giả phải phát hành bản vá bên thứ ba, rõ ràng không phải dấu hiệu tốt

    • Có gì đáng ngạc nhiên sao? Pha hack của tác giả rất xuất sắc, và nếu bị nhắm trúng thì tác động có thể lớn, nhưng xét trên tổng thể thì ảnh hưởng là rất nhỏ. Nhà sản xuất chẳng có nhiều lý do để bận tâm
      Muốn trở thành nạn nhân thì bạn phải sở hữu thiết bị này, kẻ tấn công phải biết điều đó, và còn phải ở trong phạm vi gần. Cứ nhớ tới câu thoại trong Fight Club là được
      A = số loa ngoài thực địa
      B = tỷ lệ có khả năng bị hack
      C = mức dàn xếp ngoài tòa trung bình
      Quyết định: nếu chi phí của việc không thu hồi hay sửa chữa lớn hơn chi phí thu hồi, thì bắt đầu thu hồi. Chi phí lớn nhất là nếu mọi người ngừng mua loa của họ trong tương lai, mà điều đó có vẻ khó xảy ra
  • Nếu phụ trách một tổ chức kiểu Mossad, tôi sẽ chi một phần lớn ngân sách để mua hết mọi thiết bị Bluetooth bán trên thị trường, thuê những cử nhân khoa học máy tính Israel đang rảnh việc đi tìm các lỗ hổng kiểu này, rồi biến chúng thành một bộ công cụ có thể triển khai dễ dàng
    Ví dụ, bạn sẽ muốn một tài sản có thể tiếp cận các văn phòng chính phủ Iran mang theo điện thoại đi bộ quanh tòa nhà và chiếm quyền điều khiển càng nhiều máy tính càng tốt. Nghĩ lại thì chắc phải xem như họ thực sự đang làm vậy rồi

    • Hướng nhìn này hơi ngược. Ngay từ đầu Israel không có nhiều cử nhân khoa học máy tính đến thế. Những nhân tài giỏi nhất đã đi qua Đơn vị 8200 rồi
      Nó gần như là một chương trình thạc sĩ kỹ thuật máy tính được xã hội hóa hoàn toàn, và vì là một tổ chức tình báo tín hiệu nên họ học những thứ như thế này. Sau khi hoàn thành 2~3 năm phục vụ, họ không có nợ vay học phí, chính phủ cung cấp khá nhiều vốn hạt giống cho startup, và hệ sinh thái TLV vận hành như một Bay Area thu nhỏ
      Việc sống cùng bố mẹ cũng được xã hội chấp nhận hơn, nên một phần lớn người ở độ tuổi 20 không có nợ, chi tiêu hàng tháng thấp, có năng lực kỹ thuật mạnh nhờ nghĩa vụ quân sự, ở trong một trung tâm khởi nghiệp và có khả năng tiếp cận vốn tốt. Kết quả là có rất nhiều kỳ lân, đặc biệt trong lĩnh vực an ninh mạng (https://www.techaviv.com/unicorns)
      So với Mỹ thì người ta phải dồn sức cho 4 năm đại học, gánh khoản nợ lớn, trả tiền thuê nhà, rồi chật vật tìm vốn hạt giống. Cách nghĩ kiểu “chỉ cần tận dụng chút tàn dư của một hệ thống hỏng” đã bỏ lỡ góc nhìn rằng ngay từ đầu họ có một hệ thống thành công
    • Kiểu huấn luyện này có lẽ chỉ ở mức sai số làm tròn trong ngân sách an ninh quốc gia hay tình báo của bất kỳ nước nào. Giờ đây còn có thể dùng AI để quét sơ bộ thiết bị ban đầu và tự động chọn ra các ứng viên đáng để phân tích thủ công
      Nếu đây không phải thông lệ tiêu chuẩn thì tôi sẽ khá ngạc nhiên. Dù vậy, cũng có thể năng suất thấp hơn tưởng tượng nên không đáng công. Nhưng nhìn vào trường hợp lần này thì có vẻ cũng có thể mang lại kết quả khá tốt, và có lẽ phải so với những phương thức khác của các cơ quan tình báo mà chúng ta không biết
    • Song song với đề xuất đó, có lẽ còn dễ hơn nếu tự làm rồi bán các thiết bị có lỗi, tức là đã được cài sẵn backdoor
      Cái nào dễ hơn, marketing hay tìm bug? :-)
    • Không thể nào mọi cơ quan tình báo trên thế giới lại không làm chuyện này
    • NSO Group (https://en.wikipedia.org/wiki/NSO_Group) có lẽ chính là kiểu đó. Cơ quan tình báo Israel có thể cài lỗ hổng vào những thiết bị rác tiền rẻ, hoặc những thiết bị rác đắt tiền như thế này, rồi để NSO hay một tổ chức Israel tương tự NSO khai thác. Chúng ta cũng đã biết họ bán máy nhắn tin
  • Tôi viết firmware, đặc biệt là làm với firmware cho thiết bị hỗ trợ Bluetooth, và công ty đã chặn website này

  • Người yêu công nghệ sẽ mua một chiếc loa siêu thông minh kết nối với mọi máy tính trong nhà, điều khiển cả máy pha cà phê siêu thông minh để pha cà phê tươi mỗi khi Miles Davis bắt đầu phát
    Người hiểu công nghệ thì để một cái rìu cạnh lò nướng bánh mì

    • Đó mới là nghĩa gốc của hacker
  • Tôi đã bắt đầu mong chờ một kênh làm nội dung qua loa sẽ đăng video nói về chuyện này lên trang đầu YouTube của tôi sau chừng 4 ngày làm việc

    • Bạn có biết là nếu tắt lưu lịch sử xem YouTube thì có thể ngay cả trang đầu cũng biến mất không?
    • Nhưng dù sao họ vẫn có thể đăng lên LinkedIn trước và giành hết danh tiếng