[Part 2] - Embedded devices hacking

SoWhat

VIP Members
07/02/2017
17
14 bài viết
[Part 2] - Embedded devices hacking
Bài trước mình có đưa một số thông tin tổng quan về các khai niệm thiết bị nhúng. Để reverse được firmware của thiết bị nhúng, chúng ta cần có 2 thứ. Một là file firmware, hai là hiểu biết về ngôn ngữ nền tảng của firmware đó. Phần này chúng ta sẽ tìm hiểu, làm sao để lấy được file firmware của thiết bị.

* Download firmware từ nhà sản xuất.

Để hỗ trợ người dùng cập nhật firmware cho thiết bị của mình, các nhà sản xuất sẽ cung cấp các file firmware để người dùng tải về và cập nhật cho thiết bị của mình, chúng ta có thể tìm và tài về thực hiện phân tích với file firmware đó. Tuy nhiên, đối với file firmware được tải về sẽ bao gồm rất nhiều phần được nén vào một file firmware ví dụ như hình ảnh, code xử lý, data...v.v điều này sẽ gây khó khăn trong việc phân tích. Phần sau chúng ta sẽ tìm hiểu làm thế nào để phân tích một file firmware có nhiều thành phần như vậy.

Nhiều nhà sản xuất thiết bị lựa chọn cập nhật firmware từ xa cho khách hàng thì sao, hay đồng nghĩa với nhà sản xuất không cung cấp file firmware. Chúng ta sẽ tìm hiểu đến phương án tiếp theo.

* Dump firmware từ bộ nhớ của thiết bị thông qua các cổng giao tiếp.

Các mạch điện tử của thiết bị thường sẽ được tích hợp một số chuẩn giao tiếp để nạp firmware, để debug thiết bị (Ví dụ: UART, JTAG,...v.v). Vậy làm sao chúng ta có thể nhận diện và kết nối được đến cổng giao tiếp này. Mình xin lấy ví dụ thực tế là một bảng mạch hỗ trợ giao tiếp UART. Chúng ta sẽ có một sơ đồ kết nối như sau:

1.png

Sơ đồ tổng quan giao tiếp giữa người dùng và thiết bị.

UART (Universal Asynchronous Receiver – Transmitter) là bộ truyền nhận tín hiệu không đồng bộ. Để kết nối thiết bị tới máy tính cần phải sử dụng chuẩn giao tiếp RS-232. Trong ví dụ sử dụng mạch chuyển đổi sử dụng module FT232RL.

2.png

Mạch chuyển đổi FT232RL.

Do giao tiếp RS232 sử dụng cổng COM(ít được sử dụng) nên mạch chuyển đổi FT232RL có thể giao tiếp qua cổng USB. Để sử dụng cần cài thêm driver để giao tiếp giữa mạch chuyển đổi và máy tính. Ngoài ra cần có một chương trình giao diện giúp người dùng thao thác nhận và gửi dữ liệu từ máy tính (VD: minicom, hypertrm,…).

Cuối tuần mình sẽ viết tiếp về cách nhận diện và kết nối, giao tiếp với bảng mạch của thiết bị.

Các bạn có câu hỏi hoặc góp ý thảo luận ở dưới nhé!
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: linh24 and Cord
Thẻ
hack hack thiết bị nhúng
Bên trên