ต่อไปนี้ Encrypts Secret Keys ของ OpenSSH จะถูกเก็บในหน่วยความจำ

ในช่วง 2- 3 ปีที่ผ่านมา เราจะพบการโจมตีโดยใช้ช่องโหว่ memory side-channel บน processors และ DRAMs รุ่นใหม่ๆ ไม่ว่าจะเป็นช่องโหว่ Rowhammer, RAMBleed, Spectre, และ Meltdown เป็นต้น ช่องโหว่เหล่านี้ มีสิ่งที่เหมือนกันก็คือ ใช้การโจมตีผ่านแอพลิเคชั่น OpenSSH ที่ได้ติดตั้งบนเครื่องของผู้ใช้

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

แต่ต่อไปนี้ หากต้องการเข้าถึงคีย์ SSH อาจจะไม่ง่ายเหมือนเมื่อก่อนแล้ว เมื่อนักพัฒนา OpenSSH Damien Miller ได้ออกมาเปิดแนะนำคุณสมบัติใหม่ ซึ่งเป็นระบบรักษาความปลอดภัยในการเข้าถึงคีย์ก่อนที่จะถูกนำไปเก็บไว้ในหน่วยความจำ เพื่อป้องกันทุกการโจมตี side-channel

แพตช์ใหม่ของ OpenSSH จะมี symmetric key โดยคีย์นี้จะถูกสุ่มมาจาก prekey ซึ่งใน prekey นั้นจะประกอบไปด้วยข้อมูลขนาดใหญ่ ประมาณ 16 KB

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

แพตช์ใหม่นี้อาจจะช่วยป้องกันการโจมตีแบบ side-channel ได้ในตอนนี้ แต่ถ้าหากมองกันในระยะยาวก็ยังไม่รู้ว่าวิธีการนี้จะได้ผลอีกหรือไม่

ทาง Damien คาดหวังว่าในอนาคตอาจจะไม่ต้องวิธีการนี้อีกก็ได้ หากเครื่องมือ หรืออุปกรณ์มีระบบรักษาความปลอดภัยที่ดีขึ้น

ที่มา: The Hacker News, Bleeping Computer