Qualys บริษัทที่ปรึกษาด้านความปลอดภัยชื่อดังได้ออกมาเปิดเผยถึงช่องโหว่ความรุนแรงสูงบน OpenSSH ที่ช่วยให้แฮ็คเกอร์สามารถบังคับเอาข้อมูล Private SSH Key จากเครื่องผู้ใช้ได้ แนะนำให้รีบอัพเดทแพทช์เพื่ออุดช่องโหว่โดยเร็ว
SSH Key คืออะไร
SSH Key ถือว่าเป็นการลงชื่อเข้าใช้งานอีกรูปแบบหนึ่งนอกจากการใช้รหัสผ่าน คู่ Private Key และ Public Key จะถูกสร้างขึ้น โดย Public Key จะถูกส่งให้เครื่องเซิฟเวอร์ที่รีโมท ส่วน Private Key จะถูกเก็บไว้บนเครื่องผู้ใช้เอง เมื่อผู้ใช้ทำการล็อกอิน Key ทั้งสองจะถูกตรวจสอบเพื่อระบุตัวและกำหนดสิทธิ์ในการใช้งานของผู้ใช้คนนั้น ในกรณีที่ Private Key ถูกขโมย แฮ็คเกอร์จะสามารถล็อกอินเป็นผู้ใช้ได้ทันที เสมือนกับการขโมยรหัสผ่านนั่นเอง
ช่องโหว่บนฟีเจอร์ Roaming
ช่องโหว่บน SSH Key เกิดจากฟีเจอร์พื้นฐานที่เปิดใช้งานมาจากโรงงาน เรียกว่า Roaming ซึ่งเป็นฟีเจอร์ที่ใช้สำหรับ Resume การเชื่อมต่อ SSH ที่ถูก Interrupt ซึ่งฟีเจอร์ดังกล่าวไม่มีบนฝั่งเซิฟเวอร์ อย่างไรก็ตาม แฮ็คเกอร์สามารถติดตั้งฟีเจอร์ Roaming บน OpenSSH Server เพื่อใช้ช่องโหว่บนฟีเจอร์ดังกล่าวในการขโมยข้อมูลจากเครื่องผู้ใช้ได้
ขโมยข้อมูลจากบัฟเฟอร์ที่เก็บ Private Key
เมื่อเซสชันของ SSH ถูก Interrupt เครื่องผู้ใช้จะทำการสร้างบัฟเฟอร์ในหน่วยความจำซึ่งเก็บข้อมูล Private Key ทั้งหมดของผู้ใช้เอาไว้ แฮ็คเกอร์สามารถปรับแต่ง OpenSSH Server เพื่อหลอกขโมยข้อมูลเหล่านั้นออกมาได้ ที่อันตรายคือ แฮ็คเกอร์สามารถ Private Key ที่ได้รับมาไปล็อกอินเข้า OpenSSH Server เครื่องอื่นต่อ แล้วทำแบบเดียวกันกับเครื่องผู้ใช้เครื่องอื่นๆ ก็สามารถเข้าถึงและขโมยข้อมูลการพิสูจน์ตัวตนจากทุกเครื่องในระบบต่อเป็นทอดๆได้
เวอร์ชันที่ได้รับผลกระทบ
ช่องโหว่นี้ปรากฏอยู่บน OpenSSH Client เวอร์ชัน 5.4 ถึง 7.1 ที่ใช้งานฟีเจอร์ Roaming
OpenSSH ออกแพทช์อุดช่องโหว่เรียบร้อย
Qualys ได้แจ้งช่องโหว่ดังกล่าวไปยัง OpenSSH ซึ่งก็ได้ทำการออกแพทช์เวอร์ชัน 7.1p2 เพื่ออุดช่องโหว่เรียบร้อยแล้ว แนะนำให้ผู้ใช้ OpenSSH Client ที่ได้รับผลกระทบรีบอัพเดทโดยเร็ว ในกรณีที่ยังไม่สามารถอัพเดทได้ แนะนำให้ปิดการใช้งานฟีเจอร์ Roaming ชั่วคราวโดยเพิ่มคำสั่ง “UseRoaming no” บนไฟล์ ssh_config(5) หรือบนคอนฟิคของผู้ใช้ที่เก็บไว้ใน ~/.ssh/config
นอกจากนี้ เป็นไปได้ว่าแฮ็คเกอร์ทราบถึงช่องโหว่นี้ และเริ่มโจมตีหลายเซิฟเวอร์เป็นที่เรียบร้อย จึงแนะนำให้ผู้ดูแลระบบลบ SSH Key เดิมทิ้งและสร้างใหม่เพื่อความปลอดภัย
ดูรายละเอียดเพิ่มเติมจาก Security Advisory ของ Qualys และ OpenSSH