Tags:
Node Thumbnail

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

การโจมตีกระบวนการเข้ารหัสโดยอาศัยข้อมูลข้างเคียง (side-channel attack) เป็นการโจมตีโดยแฮกเกอร์สังเกตพฤติกรรมของเซิร์ฟเวอร์ เช่น ระยะเวลาตอบสนอง หรืออัตราการกินพลังงาน แล้วพยายามคาดเดาว่ากุญแจเข้ารหัสนั้นมีค่าอะไรบ้าง การสังเกตข้อมูลเช่นอัตราการกินพลังงานนั้นตัวแฮกเกอร์ต้องสามารถตรวจจับการกินพลังงานของเซิร์ฟเวอร์ได้ ทำให้โจมตีจากระยะไกลได้ยาก แต่การจับเวลานั้นสามารถดูระยะเวลาที่เซิร์ฟเวอร์ตอบสนองต่อ request ต่างๆ เช่น การเชื่อมต่อ TLS

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

แต่ Hertzbleed เสนอว่าซีพียูช่วงหลังๆ มีการปรับสัญญาณนาฬิกาขึ้นลงตามข้อมูลที่กำลังประมวลผลอยู่ เมื่อซีพียูเร่งสัญญาณนาฬิกาก็จะใช้เวลาประมวลผลสั้นลงทำให้คนร้ายสังเกตความเปลี่ยนแปลงได้ ทีมงานทดสอบดึงกุญแจลับโดยส่งข้อความไปให้เซิร์ฟเวอร์เข้ารหัสซ้ำๆ ด้วยกระบวนการเข้ารหัส SIKE-751 ที่มีกุญแจยาว 378 บิต และควรจะใช้เวลาคงที่ โดยทดสอบกับไลบรารีสองตัวคือ CIRCL ของ Cloudflare และ PQCrypto-SIDH ของไมโครซอฟท์ พบว่าสามารถดึงกุญแจลับออกมาได้สำเร็จในเวลา 36 ชั่วโมง และ 89 ชั่วโมงตามลำดับ

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

ที่มา - Hertzbleed

No Description

แผนภาพการทำงานของ Turbo Boost ที่เร่งสัญญาณนาฬิกาเมื่อโหลดสูง และทำให้ระยะเวลาทำงานเปลี่ยนไป (ภาพโดยอินเทล)

Get latest news from Blognone

Comments

By: sian
Windows PhoneAndroidWindows
on 15 June 2022 - 13:58 #1252127
sian's picture

เซิร์ฟเวอร์เข้ารหัส้ำๆ

เซิร์ฟเวอร์เข้ารหัสซ้ำๆ

By: sukjai
iPhoneAndroidRed HatUbuntu
on 15 June 2022 - 14:12 #1252132

ลึกล้ำ