Trong lịch sử, hầu hết nhân viên đều sử dụng bàn phím và chuột không dây của Logitech. Nhập lại mật khẩu của chúng tôi một lần nữa, chúng tôi, các chuyên gia của nhóm Bảo mật Raccoon, đã tự hỏi: việc vượt qua cơ chế bảo mật của bàn phím không dây khó đến mức nào? Nghiên cứu đã tiết lộ những sai sót về kiến trúc và lỗi phần mềm cho phép truy cập vào dữ liệu đầu vào. Dưới đây là những gì chúng tôi có.
Tại sao là Logitech?
Theo chúng tôi, thiết bị đầu vào của Logitech nằm trong số những thiết bị có chất lượng cao nhất và tiện lợi nhất. Hầu hết các thiết bị chúng tôi có đều dựa trên giải pháp Logitech
Bộ thu Dongle có hỗ trợ Logitech Unifying
Bàn phím có thể trở thành nguồn cung cấp thông tin cho kẻ tấn công. Logitech, tính đến mối đe dọa có thể xảy ra, đã quan tâm đến vấn đề bảo mật - đã sử dụng thuật toán mã hóa AES128 trong kênh vô tuyến của bàn phím không dây. Suy nghĩ đầu tiên mà kẻ tấn công có thể có trong tình huống này là chặn thông tin quan trọng khi nó được truyền qua kênh vô tuyến trong quá trình liên kết. Rốt cuộc, nếu có chìa khóa, bạn có thể chặn tín hiệu vô tuyến của bàn phím và giải mã chúng. Tuy nhiên, người dùng hiếm khi (hoặc thậm chí không bao giờ) phải thống nhất bàn phím và hacker có radio quét sẽ phải chờ rất lâu. Ngoài ra, không phải mọi thứ đều đơn giản như vậy với chính quá trình đánh chặn. Trong nghiên cứu mới nhất vào tháng 2019 năm XNUMX, chuyên gia bảo mật Markus Mengs công bố trực tuyến
Chúng tôi sẽ nói về nghiên cứu bảo mật của chúng tôi về dongle Logitech dựa trên SoC NRF24 của Nordic Semiconductor. Có lẽ chúng ta hãy bắt đầu với chính kênh radio.
Cách dữ liệu “bay” trong kênh radio
Để phân tích tần số thời gian của tín hiệu vô tuyến, chúng tôi đã sử dụng bộ thu SDR dựa trên thiết bị Blade-RF ở chế độ phân tích phổ (bạn cũng có thể đọc về điều này
Thiết bị SDR Blade-RF
Chúng tôi cũng đã xem xét khả năng ghi lại hình cầu phương của tín hiệu vô tuyến ở tần số trung gian, sau đó có thể phân tích bằng kỹ thuật xử lý tín hiệu số.
Ủy ban Nhà nước về Tần số Vô tuyến ở Liên bang Nga
Phổ tần của băng tần 2,4 GHz
Môi trường nhiễu trong phạm vi khá phức tạp. Mặc dù vậy, Logitech vẫn có thể cung cấp khả năng thu sóng ổn định và đáng tin cậy thông qua việc sử dụng giao thức ShockBurst nâng cao trong bộ thu phát NRF24 kết hợp với các thuật toán thích ứng tần số.
Các kênh trong băng tần được đặt ở các vị trí nguyên MHz như được xác định trong
Tín hiệu vô tuyến bàn phím biểu diễn thời gian
Người nhận sử dụng nguyên tắc tương quan của việc tiếp nhận, do đó gói được truyền có chứa phần mở đầu và phần địa chỉ. Mã hóa chống ồn không được sử dụng; phần thân dữ liệu được mã hóa bằng thuật toán AES128.
Nhìn chung, giao diện vô tuyến của bàn phím không dây Logitech có thể được mô tả là hoàn toàn không đồng bộ với tính năng ghép kênh thống kê và thích ứng tần số. Điều này có nghĩa là bộ phát bàn phím sẽ chuyển kênh để truyền từng gói mới. Máy thu không biết trước thời gian truyền hoặc kênh tần số mà chỉ biết danh sách của chúng. Bộ thu và bộ phát gặp nhau trong kênh nhờ các thuật toán nghe và bỏ qua tần số phối hợp, cũng như các cơ chế xác nhận ShockBurst nâng cao. Chúng tôi chưa điều tra xem danh sách kênh có tĩnh hay không. Có lẽ sự thay đổi của nó là do thuật toán thích ứng tần số. Có thể thấy điều gì đó gần giống với phương pháp nhảy tần (điều chỉnh giả ngẫu nhiên tần số hoạt động) trong việc sử dụng tài nguyên tần số của dải.
Do đó, trong điều kiện không chắc chắn về tần số thời gian, để đảm bảo thu được tất cả tín hiệu bàn phím, kẻ tấn công sẽ cần phải liên tục giám sát toàn bộ lưới tần số gồm 84 vị trí, việc này đòi hỏi một lượng thời gian đáng kể. Ở đây, rõ ràng lý do tại sao lỗ hổng trích xuất khóa USB (CVE-2019-13054)
Nhìn vào vấn đề từ bên trong
Đối với nghiên cứu của mình, chúng tôi đã chọn một trong những bàn phím Logitech K330 hiện có và một dongle Logitech Unifying.
Logitech K330
Chúng ta hãy nhìn vào bên trong bàn phím. Một yếu tố thú vị trên bo mạch để nghiên cứu là chip SoC NRF24 của Nordic Semiconductor.
SoC NRF24 trên bo mạch bàn phím không dây Logitech K330
Phần sụn nằm trong bộ nhớ trong, cơ chế đọc và gỡ lỗi bị tắt. Thật không may, phần sụn chưa được xuất bản dưới dạng nguồn mở. Do đó, chúng tôi quyết định tiếp cận vấn đề từ phía bên kia - nghiên cứu nội dung bên trong của bộ thu dongle Logitech.
“Thế giới nội tâm” của dongle nhận khá thú vị. Dongle có thể tháo rời dễ dàng, mang trên bản phát hành NRF24 quen thuộc với bộ điều khiển USB tích hợp và có thể được lập trình lại cả từ phía USB và trực tiếp từ bộ lập trình.
Logitech dongle không có vỏ
Vì có một cơ chế tiêu chuẩn để cập nhật chương trình cơ sở bằng cách sử dụng
Điều đã được thực hiện: firmware RQR_012_005_00028.bin đã được trích xuất từ phần nội dung của ứng dụng Công cụ cập nhật chương trình cơ sở. Để kiểm tra tính toàn vẹn của nó, bộ điều khiển dongle được kết nối bằng cáp
Cáp kết nối dongle Logitech với lập trình viên ChipProg 48
Để kiểm soát tính toàn vẹn của phần sụn, nó đã được đặt thành công vào bộ nhớ của bộ điều khiển và hoạt động chính xác, bàn phím và chuột được kết nối với dongle thông qua Logitech Unifying. Có thể tải lên chương trình cơ sở đã sửa đổi bằng cơ chế cập nhật tiêu chuẩn vì không có cơ chế bảo vệ bằng mật mã cho chương trình cơ sở. Vì mục đích nghiên cứu, chúng tôi đã sử dụng kết nối vật lý với lập trình viên vì cách gỡ lỗi này nhanh hơn nhiều.
Nghiên cứu phần sụn và tấn công vào đầu vào của người dùng
Chip NRF24 được thiết kế dựa trên lõi điện toán Intel 8051 theo kiến trúc Harvard truyền thống. Đối với lõi, bộ thu phát hoạt động như một thiết bị ngoại vi và được đặt trong không gian địa chỉ dưới dạng một tập hợp các thanh ghi. Tài liệu về các ví dụ về chip và mã nguồn có thể tìm thấy trên Internet nên việc tháo rời phần sụn không khó. Trong quá trình thiết kế ngược, chúng tôi đã bản địa hóa các chức năng nhận dữ liệu gõ phím từ kênh radio và chuyển đổi nó sang định dạng HID để truyền đến máy chủ qua giao diện USB. Mã tiêm được đặt trong các địa chỉ bộ nhớ trống, bao gồm các công cụ để chặn kiểm soát, lưu và khôi phục bối cảnh thực thi ban đầu cũng như mã chức năng.
Gói nhấn hoặc nhả phím mà dongle nhận được từ kênh radio sẽ được giải mã, chuyển đổi thành báo cáo HID tiêu chuẩn và gửi đến giao diện USB như từ bàn phím thông thường. Là một phần của nghiên cứu, phần báo cáo HID mà chúng tôi quan tâm nhất là phần báo cáo HID chứa một byte cờ sửa đổi và một mảng 6 byte với mã gõ phím (để tham khảo, thông tin về HID
Cấu trúc báo cáo HID:
// Keyboard HID report structure.
// See https://flylib.com/books/en/4.168.1.83/1/ (last access 2018 december)
// "Reports and Report Descriptors", "Programming the Microsoft Windows Driver Model"
typedef struct{
uint8_t Modifiers;
uint8_t Reserved;
uint8_t KeyCode[6];
}HidKbdReport_t;
Ngay trước khi truyền cấu trúc HID đến máy chủ, mã được chèn sẽ kiểm soát, sao chép 8 byte dữ liệu HID gốc trong bộ nhớ và gửi nó đến kênh bên radio ở dạng văn bản rõ ràng. Trong mã nó trông như thế này:
//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~>
// Profiling have shown time execution ~1.88 mSec this block of code
SaveRfState(); // save transceiver state
RfInitForTransmition(TransmitRfAddress); // configure for special trnsmition
hal_nrf_write_tx_payload_noack(pDataToSend,sizeof(HidKbdReport_t)); // Write payload to radio TX FIFO
CE_PULSE(); // Toggle radio CE signal to start transmission
RestoreRfState(); // restore original transceiver state
//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~<
Kênh bên được tổ chức ở tần số chúng tôi đặt với các đặc điểm nhất định về tốc độ thao tác và cấu trúc gói.
Hoạt động của bộ thu phát trong chip
Tín hiệu truyền liên tục được giải điều chế ở kênh bên
Sau khi gói được truyền đến kênh bên, mã được tiêm sẽ khôi phục trạng thái của bộ thu phát. Bây giờ nó đã sẵn sàng hoạt động trở lại bình thường trong bối cảnh của phần sụn gốc.
Trong miền tần số và miền tần số thời gian, kênh bên trông như thế này:
Biểu diễn phổ và tần số thời gian của kênh bên
Để kiểm tra hoạt động của chip NRF24 với phần sụn đã được sửa đổi, chúng tôi đã lắp ráp một giá đỡ bao gồm khóa Logitech với phần sụn đã được sửa đổi, bàn phím không dây và bộ thu được lắp ráp trên cơ sở mô-đun Trung Quốc với chip NRF24.
Mạch chặn tín hiệu vô tuyến bàn phím không dây Logitech
Mô-đun dựa trên NRF24
Trên băng ghế, với bàn phím hoạt động bình thường, sau khi kết nối với dongle Logitech, chúng tôi quan sát thấy việc truyền dữ liệu rõ ràng về các lần gõ phím trong kênh radio bên cạnh và việc truyền dữ liệu được mã hóa bình thường trong giao diện radio chính. Do đó, chúng tôi có thể cung cấp tính năng chặn trực tiếp hoạt động nhập bằng bàn phím của người dùng:
Kết quả của việc chặn đầu vào bàn phím
Mã được chèn gây ra sự chậm trễ nhỏ trong hoạt động của phần sụn dongle. Tuy nhiên, chúng quá nhỏ để người dùng có thể nhận thấy.
Như bạn có thể tưởng tượng, bất kỳ bàn phím Logitech nào tương thích với công nghệ Unifying đều có thể được sử dụng cho vectơ tấn công này. Vì cuộc tấn công nhắm vào bộ thu Unifying đi kèm với hầu hết các bàn phím Logitech nên nó độc lập với kiểu bàn phím cụ thể.
Kết luận
Kết quả của nghiên cứu cho thấy những kẻ tấn công có thể sử dụng kịch bản được xem xét: nếu tin tặc thay thế nạn nhân bằng bộ thu dongle cho bàn phím không dây Logitech, thì hắn sẽ có thể tìm ra mật khẩu tài khoản của nạn nhân với tất cả các bước tiếp theo. hậu quả. Đừng quên rằng cũng có thể thực hiện thao tác gõ phím, điều đó có nghĩa là việc thực thi mã tùy ý trên máy tính của nạn nhân không khó.
Điều gì sẽ xảy ra nếu đột nhiên kẻ tấn công có thể sửa đổi từ xa chương trình cơ sở của bất kỳ dongle Logitech nào qua USB? Sau đó, từ các dongle có khoảng cách gần nhau, bạn có thể tạo một mạng lưới các bộ lặp và tăng khoảng cách rò rỉ. Mặc dù kẻ tấn công “giàu có về tài chính” sẽ có thể “nghe” đầu vào bàn phím và nhấn phím ngay cả từ một tòa nhà lân cận, nhưng thiết bị thu sóng vô tuyến hiện đại với hệ thống có tính chọn lọc cao, máy thu sóng vô tuyến nhạy với thời gian điều chỉnh tần số ngắn và ăng-ten định hướng cao sẽ cho phép chúng để “nghe” đầu vào bàn phím và nhấn phím ngay cả từ tòa nhà lân cận.
Thiết bị vô tuyến chuyên nghiệp
Do kênh truyền dữ liệu không dây của bàn phím Logitech được bảo vệ khá tốt nên vectơ tấn công được tìm thấy yêu cầu quyền truy cập vật lý vào bộ thu, điều này hạn chế đáng kể kẻ tấn công. Tùy chọn bảo vệ duy nhất trong trường hợp này là sử dụng các cơ chế bảo vệ bằng mật mã cho phần sụn của máy thu, ví dụ: kiểm tra chữ ký của phần sụn đã tải ở phía máy thu. Tuy nhiên, thật không may, NRF24 không hỗ trợ điều này và không thể triển khai tính năng bảo vệ trong kiến trúc thiết bị hiện tại. Vì vậy, hãy cẩn thận với dongle của bạn, vì tùy chọn tấn công được mô tả yêu cầu quyền truy cập vật lý vào chúng.
Raccoon Security là một nhóm chuyên gia đặc biệt của Trung tâm Nghiên cứu và Phát triển Vulcan trong lĩnh vực bảo mật thông tin thực tế, mật mã, thiết kế mạch, kỹ thuật đảo ngược và tạo phần mềm cấp thấp.
Nguồn: www.habr.com