Một người đam mê phần cứng đã thành công trong việc truy cập trực tiếp vào console debug của Baseboard Management Controller ( BMC ) trên bo mạch chủ Supermicro X11SSH bằng cách hàn dây jumper trực tiếp vào các chân UART . Thành tựu này mở ra những khả năng mới cho việc phân tích firmware và debug trên phần cứng server mà thông thường không có giao diện debug có thể truy cập được.
Phần cứng mục tiêu: Bo mạch chủ Supermicro X11SSH với chip BMC AST2400
Thách Thức Trong Việc Truy Cập Firmware Server Độc Quyền
Nền tảng X11SSH đặt ra một thách thức đặc biệt cho các hacker phần cứng và nhà nghiên cứu vì nó thiếu bất kỳ header debug chính thức hoặc điểm probe nào để truy cập BMC . Điều này buộc những người đam mê phải hack bằng cách xác định và kết nối trực tiếp với các trace UART trên chính bo mạch chủ. BMC chạy hệ điều hành riêng dựa trên Linux và quản lý các chức năng quan trọng của server, nhưng việc truy cập console của nó thường đòi hỏi kiến thức chuyên môn và kỹ năng sửa đổi phần cứng.
UART (Universal Asynchronous Receiver-Transmitter) là một giao thức truyền thông cho phép truyền dữ liệu nối tiếp giữa các thiết bị, thường được sử dụng để debug các hệ thống nhúng.
Tài nguyên cần thiết:
- Tệp Gerber để phân tích bố cục PCB
- Tài liệu kỹ thuật AST2400 để xác định chân cắm
- Thiết bị hàn để gắn dây nhảy
- Giao diện UART cho truyền thông nối tiếp
Góc Nhìn Từ Cộng Đồng Tiết Lộ Những Cạm Bẫy Phổ Biến
Cuộc thảo luận cho thấy rằng loại sửa đổi phần cứng này mang theo những rủi ro đáng kể. Các nỗ lực trước đó của các thành viên cộng đồng khác đã dẫn đến việc làm hỏng vĩnh viễn các bo mạch thông qua nhiều cách khác nhau - từ việc làm cháy PCIe root complex đến làm hỏng các trace SPI flash . Một số bo mạch kết thúc với firmware bị hỏng mà trở nên khó khăn hoặc không thể khôi phục nếu không có thiết bị chuyên dụng.
Việc có sẵn các file Gerber cho thiết kế bo mạch chủ đã khiến nhiều người trong cộng đồng ngạc nhiên, vì những file sản xuất PCB chi tiết này thường là thông tin độc quyền được các nhà sản xuất bảo vệ chặt chẽ. Những file này tỏ ra vô cùng có giá trị trong việc xác định các điểm kết nối chính xác và hiểu được bố cục của bo mạch.
File Gerber chứa các thông số kỹ thuật chính xác cần thiết để sản xuất bo mạch in, bao gồm bố cục trace và vị trí linh kiện.
Các Chế Độ Hỏng Hóc Thường Gặp:
- Hư hỏng bộ phức hợp gốc PCIe
- Hư hỏng đường mạch flash SPI của BMC
- Lỗi firmware cần phục hồi chuyên biệt
Ý Nghĩa Rộng Lớn Đối Với Firmware Server Mở
Việc sửa đổi phần cứng thành công này đại diện cho nhiều hơn chỉ là một thành tựu kỹ thuật - nó là một phần của phong trào lớn hơn hướng tới firmware server mở. Khả năng truy cập các console debug BMC cho phép khám phá runtime của những hệ thống này, điều này có thể tạo điều kiện cho việc phát triển các giải pháp thay thế mã nguồn mở như các port OpenBMC cho phần cứng trước đây không được hỗ trợ.
Việc tiếp cận firmware bị che giấu là điều tốt nhất tiếp theo sau firmware mở.
Công việc này góp phần vào những nỗ lực đang diễn ra của các dự án khác nhau bao gồm OpenBMC , OpenSIL , và DC-SCM để thoát khỏi những hạn chế của firmware server độc quyền. Mặc dù tiến độ chậm hơn mong đợi, những nỗ lực hack phần cứng cơ sở này cung cấp những hiểu biết có giá trị mà có lợi cho cộng đồng firmware mở rộng lớn hơn.
Thành tựu Kỹ thuật: Đã truy cập thành công cả hai chân UART TX và RX để thực hiện giao tiếp console BMC hai chiều đầy đủ
Thành Công Kỹ Thuật Bất Chấp Thách Thức
Việc sửa đổi thành công bao gồm việc xác định cả chân TX (transmit) và RX (receive) để có thể giao tiếp hai chiều đầy đủ với BMC , vượt xa những nỗ lực trước đây chỉ có thể thu thập dữ liệu được truyền đi. Sau khi hàn cẩn thận và lắp ráp lại, hệ thống được sửa đổi khởi động bình thường trong khi cung cấp quyền truy cập console hoàn toàn vào môi trường Linux của BMC .
Thành tựu này chứng minh rằng với đủ kiến thức kỹ thuật, tài nguyên cộng đồng, và thực hiện cẩn thận, có thể đạt được quyền truy cập sâu vào phần cứng server mà các nhà sản xuất không bao giờ có ý định cho người dùng truy cập được. Thành công này khuyến khích việc khám phá và tài liệu hóa thêm những kỹ thuật này vì lợi ích của các nhà nghiên cứu và nhà phát triển firmware mở.
Tham khảo: x11ssh: An attempt to access BMC UART #3