เมื่อต้นปีนี้ กูเกิลเคยโชว์ Titan ชิปความปลอดภัยที่พัฒนาขึ้นเอง เพื่อสร้างความน่าเชื่อถือให้กับคลาวด์ Google Cloud Platform
ล่าสุดกูเกิลเผยรายละเอียดเพิ่มเติมของ Titan ว่าออกแบบมันขึ้นเพื่อสร้างความน่าเชื่อถือ (root of trust) ที่ระดับต่ำที่สุดเท่าที่เป็นไปได้ที่ระดับฮาร์ดแวร์ หน้าที่ของมันคือตรวจสอบว่าเซิร์ฟเวอร์เครื่องนั้นถูกบูตขึ้นมาในสภาวะที่ปลอดภัย (secure boot) ไม่โดนฝังมัลแวร์มาระหว่างทาง ไม่ว่าจะเป็นระดับของ OS หรือเฟิร์มแวร์
แนวคิดเรื่องการใช้ชิปพิเศษทำ secure boot ไม่ใช่เรื่องใหม่ ผู้ผลิตฮาร์ดแวร์หลายรายทำกันมานานแล้ว แต่ Titan พิเศษกว่านั้นเพราะมีฟีเจอร์ใหม่ 2 อย่างคือ 1) การซ่อมแซมตัวเอง (remediation) ในกรณีเฟิร์มแวร์มีบั๊ก และ 2) คุณสมบัติที่เรียกว่า first-instruction integrity ที่ต้องอธิบายกันยาวหน่อย
องค์ประกอบของ Titan ประกอบด้วย
ความปลอดภัยของ Titan เริ่มตั้งแต่ขั้นตอนการผลิต โดยมันจะฝังโค้ดที่แก้ไขไม่ได้ (เรียกว่า boot ROM) มาตั้งแต่โรงงาน ชิปทุกตัวจะถูกตรวจสอบความถูกต้องของโค้ดส่วนนี้ เพื่อการันตีความน่าเชื่อถือตั้งแต่ฐานราก
เมื่อ Titan บูตตัวเองขึ้นมา มันจะมีระบบตรวจสอบหน่วยความจำที่ทำงานทุกครั้ง เช็คหน่วยความจำทุกประเภทว่าไม่ถูกแก้ไข จากนั้นขั้นถัดไปคือโหลดเฟิร์มแวร์ (ที่ฝังอยู่ในหน่วยความจำแฟลชของชิป) ขึ้นมา แต่ถึงแม้ว่าเฟิร์มแวร์จะอยู่ในแฟลช ตัว boot ROM ก็จะไม่เชื่อถือเฟิร์มแวร์นี้ และตรวจสอบเฟิร์มแวร์ทุกครั้งด้วย public key
เมื่อ Titan โหลดเฟิร์มแวร์ (ที่ตรวจสอบแล้วว่าปลอดภัย) มันเข้าสู่การตรวจสอบกระบวนการบูตของเซิร์ฟเวอร์ โดยสื่อสารกับซีพียูหลักของเซิร์ฟเวอร์ผ่านบัส Serial Peripheral Interface (SPI) และทำหน้าที่ "สังเกต" กระบวนการบูตของเฟิร์มแวร์เซิร์ฟเวอร์
คุณสมบัติ first-instruction integrity ของ Titan คือมันสามารถเข้าไปตรวจสอบไฟล์เฟิร์มแวร์ในหน่วยความจำแฟลชของเซิร์ฟเวอร์ได้โดยตรง ไม่จำเป็นต้องรอเซิร์ฟเวอร์โหลดเฟิร์มแวร์เข้ามาก่อน และสามารถสั่งให้ฮาร์ดแวร์ที่ทำหน้าที่บูต (Baseboard Management Controller หรือ BMC) "หยุดรอ" การตรวจสอบเฟิร์มแวร์ให้เสร็จก่อนค่อยเริ่มบูตได้ด้วย ฟีเจอร์นี้ทำให้ Titan สามารถรู้ได้ว่าเฟิร์มแวร์ที่จะถูกบูตมีข้อมูลอะไรบ้างตั้งแต่ไบต์แรก และถ้าหากเฟิร์มแวร์ถูกแก้ไขโดยผู้ประสงค์ร้าย Titan ก็รู้ได้ก่อนบูตเลย
ที่มา - Google Cloud Platform Blog
Comments
ถ้าจะแฮ๊ก ก็ต้องหาทางฝังไว้ตั้งแต่โรงงานผลิตชิปละซิเนี่ย
ง่ายที่สุดคือทำ hacked firmware
ยากสุดคือหา private key ที่จะรับรอง firmware ที่ว่า...