พบบั๊กบน OpenSSH ทำให้ผู้โจมตีสามารถรู้ Username ที่มีอยู่บน Server ได้
Eddie Harari นักพัฒนาจากบริษัท Verint ได้ออกมาเปิดเผยถึงบั๊กบนระบบ OpenSSH ที่ทำให้ผู้โจมตีสามารถทราบถึง Username ของผู้ใช้งานได้ หลังจากที่แจ้งให้ทาง OpenSSH ทราบแล้วแต่ไม่มีการตอบสนองแต่อย่างใด
Credit: Maksim Kabakou/ShutterStock
บั๊กที่พบนี้คือการทดลอง Login ด้วยชื่อ Username ใดๆ ที่ต้องการจะสุ่ม และส่งรหัสผ่านที่มีความยาวมากถึงหลัก 10 Kilobyte ซึ่งถ้าหากชื่อของผู้ใช้งานนั้นไม่มีอยู่จริง ระบบจะตอบปฏิเสธการยืนยันตัวตนอย่างรวดเร็ว แต่ถ้าหากชื่อของผู้ใช้งานนั้นมีอยู่จริง ระบบจะตอบสนองช้ากว่า
สาเหตุ ที่เกิดบั๊กนี้ขึ้นได้ เพราะสิ่งที่ OpenSSH ทำเมื่อเกิดการยืนยันตัวตนสำหรับผู้ใช้งานที่ไม่มีอยู่จริงนั้นก็คือการสุ่ม เลือกรหัสผ่านปลอมๆ ที่ถูก Hardcode เอาไว้ และทำการ Hash ด้วยอัลกอริธึม Blowfish ซึ่งทำงานรวดเร็วกว่า SHA256/SHA512 มาก ดังนั้นถ้าหากรหัสผ่านของผู้ใช้งานที่มีอยู่จริงนั้นถูก Hash เอาไว้ด้วย SHA256/512 การโจมตีด้วยการส่งรหัสผ่านขนาด 10 Kilobyte นี้เข้าไปก็จะเห็นความแตกต่างจากความเร็วในการตอบสนองของ Server นั่นเอง เพราะหาก Username นั้นไม่มีอยู่จริง Server ก็จะตอบสนองอย่างรวดเร็ว แต่ถ้าหาก Username นั้นมีอยู่จริง Server ก็ต้องทำการ Hash ด้วย SHA256/512 และก็จะใช้เวลาในการ Hash อยู่ระดับหนึ่ง
โดยทั่วไปแล้ว หลักการป้องกันระบบ Login ให้ปลอดภัยนั้นคือจะต้องทำให้ผู้โจมตีไม่สามารถสุ่มเพื่อค้นหา Username ของผู้ใช้งานได้ เพราะไม่เช่นนั้นแล้วผู้โจมตีอาจสุ่มหาชื่อของ Username บนระบบได้สำเร็จ เพื่อทำการสุ่มหารหัสผ่านต่อไปได้
ทั้งนี้ตอนนี้ยังไม่มี Patch ใดๆ ออกมาแก้ปัญหานี้นะครับ ผู้ใช้ OpenSSH ก็ควรติดตามและเฝ้าระวังเผื่อถูกโจมตีกันด้วยวิธีนี้
ที่มา: http://www.theregister.co.uk/2016/07/17/openssh_has_user_enumeration_bug/
|