นักแฮ็กฮาร์ดแวร์สามารถเข้าถึง BMC Debug Console บนเมนบอร์ด Supermicro X11SSH ได้สำเร็จ

ทีมชุมชน BigGo
นักแฮ็กฮาร์ดแวร์สามารถเข้าถึง BMC Debug Console บนเมนบอร์ด Supermicro X11SSH ได้สำเร็จ

นักแฮ็กฮาร์ดแวร์คนหนึ่งได้สำเร็จในการเข้าถึง debug console ของ Baseboard Management Controller (BMC) บนเมนบอร์ด Supermicro X11SSH โดยตรง ผ่านการบัดกรีสายจัมเปอร์เข้ากับขา UART โดยตรง ความสำเร็จนี้เปิดโอกาสใหม่สำหรับการวิเคราะห์เฟิร์มแวร์และการดีบักบนฮาร์ดแวร์เซิร์ฟเวอร์ที่โดยปกติไม่มีอินเตอร์เฟซดีบักที่เข้าถึงได้

ฮาร์ดแวร์เป้าหมาย: เมนบอร์ด Supermicro X11SSH พร้อมชิป BMC AST2400

ความท้าทายในการเข้าถึงเฟิร์มแวร์เซิร์ฟเวอร์ที่เป็นกรรมสิทธิ์

แพลตฟอร์ม X11SSH นำเสนอความท้าทายเฉพาะสำหรับนักแฮ็กฮาร์ดแวร์และนักวิจัย เนื่องจากไม่มี debug header หรือจุดตรวจสอบอย่างเป็นทางการสำหรับการเข้าถึง BMC สิ่งนี้บังคับให้ผู้ที่สนใจต้องแฮ็กเข้าไปโดยการระบุและเชื่อมต่อโดยตรงกับเส้นทาง UART บนเมนบอร์ดเอง BMC ใช้ระบบปฏิบัติการที่ใช้ Linux เป็นฐานและจัดการฟังก์ชันสำคัญของเซิร์ฟเวอร์ แต่การเข้าถึงคอนโซลของมันโดยทั่วไปต้องใช้ความรู้เฉพาะทางและทักษะการดัดแปลงฮาร์ดแวร์

UART (Universal Asynchronous Receiver-Transmitter) เป็นโปรโตคอลการสื่อสารที่อนุญาตให้มีการส่งข้อมูลแบบอนุกรมระหว่างอุปกรณ์ ซึ่งมักใช้สำหรับการดีบักระบบฝังตัว

ทรัพยากรที่จำเป็น:

  • ไฟล์ Gerber สำหรับการวิเคราะห์เลย์เอาต์ PCB
  • เอกสารข้อมูลจำเพาะ AST2400 สำหรับการระบุพิน
  • อุปกรณ์บัดกรีสำหรับการติดตั้งสายจัมเปอร์
  • อินเทอร์เฟซ UART สำหรับการสื่อสารแบบซีเรียล

ข้อมูลเชิงลึกจากชุมชนเผยให้เห็นข้อผิดพลาดทั่วไป

การอภิปรายเผยให้เห็นว่าการดัดแปลงฮาร์ดแวร์ประเภทนี้มีความเสี่ยงอย่างมาก ความพยายามก่อนหน้านี้โดยสมาชิกชุมชนคนอื่นๆ ส่งผลให้บอร์ดเสียหายอย่างถาวรด้วยวิธีต่างๆ ตั้งแต่การทำให้ PCIe root complex เสียหายไปจนถึงการทำลายเส้นทาง SPI flash บางบอร์ดมีเฟิร์มแวร์เสียหายที่กลายเป็นเรื่องยากหรือเป็นไปไม่ได้ที่จะกู้คืนโดยไม่มีอุปกรณ์เฉพาะทาง

ความพร้อมใช้งานของไฟล์ Gerber สำหรับการออกแบบเมนบอร์ดทำให้หลายคนในชุมชนประหลาดใจ เนื่องจากไฟล์การผลิต PCB ที่มีรายละเอียดเหล่านี้โดยทั่วไปเป็นข้อมูลกรรมสิทธิ์ที่ผู้ผลิตเก็บรักษาไว้อย่างเข้มงวด ไฟล์เหล่านี้พิสูจน์ให้เห็นว่ามีคุณค่าอย่างมากสำหรับการระบุจุดเชื่อมต่อที่ถูกต้องและการทำความเข้าใจเลย์เอาต์ของบอร์ด

ไฟล์ Gerber ประกอบด้วยข้อกำหนดที่แม่นยำที่จำเป็นในการผลิตแผงวงจรพิมพ์ รวมถึงเลย์เอาต์ของเส้นทางและการวางตำแหน่งส่วนประกอบ

รูปแบบความล้มเหลวที่พบบ่อย:

  • ความเสียหายของ PCIe root complex
  • ความเสียหายของ trace ใน BMC SPI flash
  • การเสียหายของ firmware ที่ต้องใช้การกู้คืนแบบเฉพาะเจาะจง

ผลกระทบในวงกว้างสำหรับเฟิร์มแวร์เซิร์ฟเวอร์แบบเปิด

การดัดแปลงฮาร์ดแวร์ที่สำเร็จนี้แสดงถึงมากกว่าแค่ความสำเร็จทางเทคนิค มันเป็นส่วนหนึ่งของการเคลื่อนไหวที่ใหญ่กว่าสู่เฟิร์มแวร์เซิร์ฟเวอร์แบบเปิด ความสามารถในการเข้าถึง BMC debug console ช่วยให้สามารถสำรวจระบบเหล่านี้ในขณะทำงาน ซึ่งอาจอำนวยความสะดวกในการพัฒนาทางเลือกโอเพนซอร์สเช่น OpenBMC port สำหรับฮาร์ดแวร์ที่ไม่ได้รับการสนับสนุนก่อนหน้านี้

การเข้าถึงเฟิร์มแวร์ที่ถูกปิดบังเป็นสิ่งที่ดีที่สุดรองจากเฟิร์มแวร์แบบเปิด

งานนี้มีส่วนช่วยในความพยายามอย่างต่อเนื่องโดยโครงการต่างๆ รวมถึง OpenBMC, OpenSIL และ DC-SCM เพื่อหลุดพ้นจากข้อจำกัดของเฟิร์มแวร์เซิร์ฟเวอร์ที่เป็นกรรมสิทธิ์ แม้ว่าความก้าวหน้าจะช้ากว่าที่หวังไว้ แต่ความพยายามในการแฮ็กฮาร์ดแวร์ระดับรากหญ้าเหล่านี้ให้ข้อมูลเชิงลึกที่มีคุณค่าซึ่งเป็นประโยชน์ต่อชุมชนเฟิร์มแวร์แบบเปิดในวงกว้าง

ความสำเร็จทางเทคนิค: เข้าถึงพิน UART ทั้ง TX และ RX ได้สำเร็จเพื่อการสื่อสารคอนโซล BMC แบบสองทิศทางอย่างสมบูรณ์

ความสำเร็จทางเทคนิคแม้จะมีความท้าทาย

การดัดแปลงที่สำเร็จเกี่ยวข้องกับการระบุทั้งขา TX (transmit) และ RX (receive) สำหรับการสื่อสารแบบสองทิศทางอย่างสมบูรณ์กับ BMC ซึ่งเกินกว่าความพยายามก่อนหน้านี้ที่เพียงแค่จับข้อมูลที่ส่งออกมา หลังจากการบัดกรีอย่างระมัดระวังและการประกอบใหม่ ระบบที่ได้รับการดัดแปลงสามารถบูตได้ตามปกติในขณะที่ให้การเข้าถึงคอนโซลอย่างสมบูรณ์กับสภาพแวดล้อม Linux ของ BMC

ความสำเร็จนี้แสดงให้เห็นว่าด้วยความรู้ทางเทคนิคที่เพียงพอ ทรัพยากรชุมชน และการดำเนินการอย่างระมัดระวัง เป็นไปได้ที่จะเข้าถึงฮาร์ดแวร์เซิร์ฟเวอร์อย่างลึกซึ้งที่ผู้ผลิตไม่เคยตั้งใจให้ผู้ใช้เข้าถึงได้ ความสำเร็จนี้ส่งเสริมให้มีการสำรวจและจัดทำเอกสารเทคนิคเหล่านี้เพิ่มเติมเพื่อประโยชน์ของนักวิจัยและนักพัฒนาเฟิร์มแวร์แบบเปิด

อ้างอิง: x11ssh: An attempt to access BMC UART #3