KeySweeper - Keylogger trên nền tảng Arduino cho bàn phím không dây

Đây là một bài báo được mình dịch lại từ The Hacker News đăng vào ngày 13/01/2015. Mình đăng bài viết này nhằm giúp các bạn mới làm quen với Arduino thấy được rằng ứng dụng Arduino không phải chỉ dừng ở việc điều khiển đèn LED nhấp nháy, điều khiển động cơ hay hiển thị/truyền phát thông tin đơn thuần,... nó còn làm được những thứ to lớn hơn thế ...

KeySweeper - Keylogger trên nền tảng Arduino cho bàn phím không dây

Một nhà nghiên cứu về bảo mật đã phát triển thành công một loại sạc USB giá rẻ có khả năng thu tín hiệu từ hầu hết các loại bàn phím không dây của Microsoft.

Một mischief-maker tên là Samy Kamkar MySpace đã công bố một thiết bị nghe lén các loại bàn phím không dây của Microsoft. Bộ thiết bị này khéo léo ẩn mình dưới hình dạng của một cục sạc USB rẻ tiền cho điện thoại. 

Thiết bị mà Samy Kamkar công bố được phát triển trên nền tảng Arduino dưới tên gọi "KeySweeper" nhìn trong có vẻ chẳng khác gì một cục sạc USB thông thường cũng như việc nó có thể hoạt động được bình thường như những cục sạc USB khác. Thực chất, tính năng chính của thiết bị này là chặn bắt, giải mã và ghi lại các thao tác trên bàn phím được phát đi từ bất kì bàn phím không dây nào của Microsoft.

"KeySweeper is a stealthy Ardunio-based device camouflaged as a wall charger that wirelessly sniffs, decrypts, logs and reports-back all keystrokes from any Microsoft wireless keyboard in the vicinity," trích nguyên văn lời của Kamkar.

Dịch

"KeySweeper là một thiết bị ẩn mình chạy trên nền tảng Arduino được ngụy trang dưới dạng một cục sạc USB. Thiết bị không dây này có khả năng chặn bắt, giải mã và ghi lại các thao tác trên bàn phím từ bất kì bàn phím không dây nào của Microsoft xung quanh.

Nhà nghiên cứu đồng thời cũng công bố luôn hướng dẫn chế tạo một thiết bị nghe lén như vậy. Thật ngạc nhiên là hướng dẫn này có thể được thực hiện một cách rất dễ dàng với giá thành cực thấp. KeySweeper bao gồm một công cụ chạy trên nền web giúp người sử dụng có thể theo dõi dữ liệu nghe lén được theo thời gian thực, một module cho phép gửi tin nhắn SMS chứa dữ liệu nghe lén cũng như một viên pin bên trong cho phép bộ thiết bị có thể hoạt động ngay cả khi nó đã được rút ra khỏi ổ cắm điện.

Các bạn quan tâm đến KeySweeper có thể truy cập http://goo.gl/02DoxK để xem thông tin chi tiết.

"Even if we do not know the MAC address, we can decrypt the keystroke. Using a few-dollar Arduino and a US$1 Nordic RF chip we can decrypt these packets and see any keystroke of any keyboard in the vicinity that's using the Microsoft wireless keyboard protocol and it doesn't matter what OS is used." trích nguyên văn lời của Kamkar.

Dịch:

 "Thậm chí nếu ta không biết địa chỉ MAC, ta vẫn có thể giải mã các thao tác gõ phím. Bằn cách sử dụng một board Arduino có giá vài US$1 và một US$1 RF chip của hãng Nordic, ta có thể giải mã các gói tín nhận được và có thể thấy bất kì thao tác gõ phím nào của bất kì bàn phím nào xung quanh sử dụng Giao thức phím không dây của Microsoft ở khu vực xung quanh bất kể hệ điều hành đang sử dụng là gì.

KeySweeper lưu trữ các thao tác gõ phím của nạn nhân ở cả 2 hình thức online và offline cũng như có khả năng gửi thông tin này về cho người sử dụng qua mạng Internet bằng một GSM chip.

Thông thường, các bàn phím không dây của Microsoft mã hóa các thông tin gõ phím trước khi gửi đi, tuy nhiên Kamkar tuyên bố rằng anh đã phát hiện được một vài lỗ hổng cho phép giải mã dữ liệu một cách dễ dàng. Kamkar vẫn chưa thử nghiệm công cụ của mình trên tất cả các loại bàn phím không dây của Microsoft, nhưng anh tin rằng tất cả chúng đều có thể bị nghe lén.

Kamkar không chỉ ra nhiều lỗ hổng, nhưng anh ấy đã công bố hướng dẫn chi tiết cách xây dựng KeySweeper trên GitHub. Anh ấy cũng tự làm một video dài nửa giờ về KeySweeper mà bạn có thể xem nó ở dưới đây.

Trên GitHub, Kamkar có đăng tải mã nguồn của KeySweeper cũng như hướng dẫn làm một thiết bị như vậy. Các bạn có thể xem tại https://github.com/samyk/keysweeper

Theo nhà nghiên cứu, chi phí để chế tạo một KeySweeper nằm trong khoảng từ 10$ đến 80$ tùy theo chức năng mà người sử dụng muốn có. Dưới đây là danh sách những phần cứng dùng để làm KeySweeper:

  • $3 – $30: một mạch Arduino hoặc Teensy.
  • $1: nRF24L01+ 2.4GHz RF Chip giao tiếp bằng GFSK qua sóng 2.4GHz.
  • $6: sạc AC USB chuyển đổi từ điện xoay chiều dân dụng sang điện một chiều 5V.
  • $2 (tùy chọn): chip SPI Serial Flash dùng để lưu trữ dữ liệu nghe lén.
  • $45 (tùy chọn): Adafruit đã tạo ra một board mạch gọi là FONA cho phép người dùng sử dụng SIM điện thoại để gửi hoặc nhận tin nhắn SMS, gọi điện thoại hoặc truy cập Internet trực tiếp từ thiết bị.
  • $3 (tùy chọn nếu dùng FONA): Adafruit FONA cần một thẻ SIM full-size
  • $5 (tùy chọn nếu dùng FONA): Adafruit FONA được tích hợp sạc pin LiPo/Li-Ion. Khi nạn nhân cắm KeySweeper vào ổ điện, pin sẽ tự động được sạc để giữ KeySweeper hoạt động ngay cả khi người dùng rút nó ra khỏi ổ điện.

Đây là danh sách các thiết bị thay thế mà các bạn có thể dễ dàng mua được tại Việt Nam. Danh sách này được viết theo thứ tự:

  • Arduino Pro Mini
  • Mạch thu phát không dây nRF24L01
  • Sạc USB
  • Các loại chip SPI Serial Flash
  • GSM/GPRS Shield: loại mạch này có một nhược điểm là lớn hơn rất nhiều so với Adafruit FONA.
  • SIM card (cái này chắc ai cũng có)
  • Pin LiPo/LiIon (có thể ra tiệm sửa điện thoại di động mua một viên pin điện thoại về. Pin điện thoại là loại LiIon, một số rất ít là LiPo).

Trong một động thái từ phía Microsoft, người phát ngôn của họ nói rằng "Microsoft đã nhận được báo cáo về KeySweeper và họ đang điều tra". 

lên
5 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Bài 3: Xác định trạng thái của một nút nhấn (button)

Bài viết này sẽ hướng dẫn bạn cách xác định trạng thái của một nút nhấn (nhấn / thả), mô tả cách sử dụng một công cụ giao tiếp giữa Arduino với máy tính (cũng như với mạch Arduino khác) để xem trạng thái nút nhấn vừa đọc được.

lên
59 thành viên đã đánh giá bài viết này hữu ích.

Bạn có biết Arduino là gì không? Tìm hiểu thêm...

"Tử thuở còn cắp sách tới trường, có lẽ bạn cũng như tôi, rất thích chơi xe điện tử - nhất là xe điều khiển từ xa! Hồi ấy, tôi rất hay đòi ba mẹ mua một chiếc mỗi khi họ đi công tác xa. Và cứ như một thói quen, chơi được 1 tuần tôi lại "tháo banh" chiếc xe của mình và xem các mạch điện tử. Nói là xem vậy thôi, chứ chủ yếu là tôi lấy mô tơ ra làm quạt chơi (hehe). Lên lớp 11, thì tôi biết đến mạch Arduino từ lời giới thiệu của anh trai, và từ đây, câu chuyện về xe điều khiển của tôi còn dừng lại ở cái quạt mô - tơ nữa....!"

lên
52 thành viên đã đánh giá bài viết này hữu ích.