Superfish & Lenovo

Superfish กลายเป็นข่าวดังเมื่อไม่นานมานี้ เนื่องจากมีคนพบว่า Lenovo preload adware ตัวนี้มาจากโรงงาน ว่าง่ายๆ มันทำ targeted/personalized ads โดยเอาข้อมูลการใช้งานของผู้ใช้ไปวิเคราะห์ดูว่าน่าจะส่งโฆษณาอะไรดี

แต่ความน่ากลัวของ Superfish มันอยู่ที่กลไกการทำงานของมัน เพราะจะทำแบบนั้นได้แปลว่ามัน intercept ข้อมูลที่ผู้ใช้เยี่ยมชมเว็บต่างๆ ซึ่งก็คือมันทำงานเป็น Man-in-the-Middle นั่นแหละ

ที่แสบคือมัน intercept HTTPS ได้ โดย browser จับผิดไม่ได้

เท่าที่เข้าใจ หลักการของ Superfish คือ ทำตัวเองเป็น root CA ที่ browser เชื่อถือ ด้วยการใช้ adware เป็นตัวฝัง root certificate ไว้ใน browser พอผู้ใช้เข้าเว็บที่เป็น HTTPS มันก็จะ intercept ถอดรหัส เก็บข้อมูล ใช้ key ใน root certificate ของมันเอง + hostname ของเว็บมาสร้าง certificate ใบใหม่ แล้ว establish SSL กับ browser ในเครื่อง

ผล: browser จะไม่เตือนอะไรเลย เพราะ certificate ที่ใช้สร้างด้วย trusted root CA certificate ที่ฝังใน browser และ hostname ก็ตรงกับใน URL เข้าเว็บไหนก็เขียว กุญแจก็ล็อค เผลอๆ เข้าพวกที่ใช้ self-sign certificate ก็ยังจะเขียวเลย :P

แปลว่าข้อมูลจะถูกดูดออกไปได้โดยผู้ใช้ไม่รู้ตัว ถึงแม้จะเป็น HTTPS แล้วก็ตาม รั่วได้หมดทั้ง password, credit card และข้อมูลส่วนตัวอื่นๆ ที่ปกติไม่อยากให้ใครรู้

เคส Superfish เกิดกับ MS Windows เท่านั้น :P