security

กรณีผิดฝาผิดตัวใน Twitter และ Facebook

ช่วงหนึ่งเดือนที่ผ่านมามีหลายคนพบว่าจู่ ๆ หน้า Twitter หรือ Facebook ที่เปิดอยู่ก็กลายเป็นของคนอื่น ผมก็เคยเจอหนหนึ่งที่ไปโผล่หน้า Facebook ของหญิงสาว เป็นเรื่องค่อนข้างน่ากลัวเพราะเราสามารถทำอะไรกับบัญชีผู้ใช้นั้นได้มากมาย เช่น อัพเดตข้อความ ลบเพื่อน ดูรายชื่อเพื่อน

เท่าที่ผมทราบ เรื่องนี้เกิดกับผู้ที่ใช้บริการอินเทอร์เน็ตของ True และก็น่าจะเป็นปัญหาที่ True เอง ดังที่ผู้ใช้อินเทอร์เน็ตชื่อ Sajal ตั้งข้อสังเกตไว้ว่า หากเป็นปัญหาที่ Twitter จริง เหตุผิดฝาผิดตัวนี้ก็น่าจะเกิดกับคนต่างชาติบ้าง เพราะ Twitter เองก็มีผู้ใช้หลักสิบล้านบัญชี เท่าที่ผมเห็น ก็มีแต่คนไทยเท่านั้นที่พบปัญหา

ทีนี้ ปัญหานี้น่าจะเกิดจากอะไร ผมคิดว่าน่าจะเป็นเรื่องคุกกี้ (Cookie) ชื่อฟังดูน่ากิน แต่อาจเป็นช่องโหว่ด้านความปลอดภัยและความเป็นส่วนตัวที่น่ากลัว

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

ตัวอย่างของคุกกี้ที่เราน่าจะคุ้นเคยกันก็คือ การใช้มันเป็น "ใบผ่านทาง" เข้าเว็บไซต์โดยไม่ต้องใส่รหัสผ่านบ่อย ๆ ด้วยการติ๊กในช่อง Remember Me เวลาจะล็อกอินเข้าเว็บไซต์ต่าง ๆ ทำให้แม้ปิดเบราว์เซอร์ไปแล้ว เปิดมาใหม่ ไม่ต้องใส่รหัสผ่าน เนื่องจากว่าที่เว็บไซต์ปลายทางยังเก็บข้อมูลไว้ว่า ผู้ใช้คนนี้มีข้อมูลคุกกี้แบบนี้อยู่ หากใครเอาข้อมูลคุกกี้ที่ตรงกันส่งมาให้ ก็จะถือว่าล็อกอินได้เลย

ถึงตรงนี้เราอาจจะมองเห็นปัญหาแล้ว ว่าแม้เราจะไม่รู้รหัสผ่าน แต่ถ้ามีคุกกี้ของคนอื่นอยู่ ก็เป็นไปได้ที่จะสวมรอยเป็นคนคนนั้นได้

แล้วคุกกี้นี้มันขโมยกันได้หรือไม่ คำตอบที่น่าตกใจคือ ขโมยได้ และขโมยได้ง่ายพอสมควร

เวลาที่เราใช้อินเทอร์เน็ตไร้สายในที่สาธารณะ ข้อมูลต่าง ๆ จะวิ่งผ่านอากาศอย่างที่ไม่สามารถควบคุมให้พุ่งไปสู่เป้าหมายอย่างเดียวได้ เป็นการเปิดโอกาสให้ใครก็ได้ สามารถดักฟัง (sniff) การรับส่งข้อมูลของเรา และแน่นอน สามารถดักจับคุกกี้ของเราได้ด้วย

เราอาจจะเคยได้ยินข่าวคราวของซอฟต์แวร์ชื่อ Firesheep ที่จะคอยดักจับข้อมูลต่าง ๆ ในอากาศ และเลือกเอามาเฉพาะข้อมูลที่เป็นคุกกี้ของเว็บไซต์ดัง ๆ อย่าง Facebook จากนั้นก็จะสวมรอยเป็นเจ้าของคุกกี้ผู้โชคร้ายนั้นให้อย่างง่ายดาย

กลับมาที่ปัญหาผิดฝาผิดตัว ผมคิดว่าสาเหตุก็คือ True นั้นใช้ Transparent Proxy นั่นคือการเชื่อมต่ออินเทอร์เน็ตของเราจะต้องผ่านเครื่อง "คนกลาง" (proxy) ของ True ก่อน ซึ่งจริง ๆ มันก็มีประโยชน์ เช่น หากเราจะดูวิดีโอคลิปยอดนิยมจาก YouTube เราก็ไม่จำเป็นต้องดาวน์โหลดจากเครื่องเซิร์ฟเวอร์ในต่างประเทศ เนื่องจากน่าจะมีคนดาวน์โหลดมาดูก่อนหน้าเราแล้ว และข้อมูลยังถูกเก็บใน Proxy เราก็ดาวน์โหลดจาก Proxy ของ True ที่ตั้งอยู่ในประเทศแทน เพื่อความเร็วที่สูงกว่า

การที่การเชื่อมต่อจำนวนมากต้องผ่าน Proxy นี้เอง อาจจะมีปัญหาบางอย่างที่ทำให้เกิดการสลับคุกกี้กัน ซึ่งเราก็ต้องสังเกตกันต่อไป ว่าปัญหามีสาเหตุอย่างนี้จริงหรือไม่

การป้องกันทั้งจากเหตุสับสนใน Proxy นี้ และจาก Firesheep น่าจะมีดังนี้

  1. หมั่นออกจากระบบเว็บไซต์ (log out) เมื่อใช้งานเสร็จแล้ว การออกจากระบบจะทำให้ข้อมูลคุกกี้ของเราในเว็บไซต์นั้นหมดอายุ คุกกี้ที่เครื่องเราเก็บไว้และอาจมีคนดักจับได้ก่อนหน้านี้ก็จะใช้ไม่ได้ นอกจากนี้ เราไม่ควรกำหนดให้เว็บไซต์จดจำการล็อกอินของเรา ด้วยเหตุผลเดียวกัน

  2. ใช้บริการเข้ารหัสการรับส่งข้อมูล ถ้ามี เว็บไซต์ชื่อดังส่วนมากมีบริการเข้ารหัสการรับส่งข้อมูลที่เรียกว่า SSL (สังเกตจากคำว่า https หน้าที่อยู่เว็บไซต์) ซึ่งปัจจุบันนี้นิยมใช้ตอนที่เราล็อกอินเพื่อกันการดักอ่านรหัสผ่าน แต่เว็บไซต์ส่วนมากไม่ได้เปิดให้ใช้ SSL กับการท่องเว็บทั่ว ๆ ไปตั้งแต่แรก เช่น หากเราจะล็อกอินเข้า Facebook ข้อมูลที่ถูกเข้ารหัสจะมีเพียงชื่อผู้ใช้กับรหัสผ่านเท่านั้น ต่างกับ Gmail ที่เปิด SSL ตลอดการใช้งาน

    เพราะฉะนั้นเราควรเลือกใช้ SSL ทุกครั้งที่มีโอกาส เพื่อความสะดวกเราอาจดาวน์โหลดส่วนเสริมของเบราว์เซอร์ที่ช่วย "บังคับ" ให้เว็บไซต์เลือกใช้ช่องทางที่มี SSL โดยส่วนเสริมนี้ของ Firefox มีชื่อว่า HTTPS Everywhere และของ Chrome มีชื่อว่า KB SSL Enforcer

  3. ใช้บริการ Proxy หรือ VPN ที่น่าเชื่อถือ แนะนำให้หาอ่านต่อจาก Google

False Sense of Security

มีวิธีให้เลือกมากมายเพื่อรักษาความปลอดภัยของการส่งข้อมูลผ่านอินเทอร์เน็ต

ปัญหาก็คือ ถ้ารู้แค่วิธีใช้เครื่องมือที่ช่วยเรื่องพวกนี้อย่างผิวเผิน มันก็อาจจะทำให้เรารู้สึกปลอดภัยกว่าความเป็นจริง อาจเผลอเรอ ยิ่งอันตรายกว่าการไม่รู้จักเครื่องมือพวกนั้นแล้วเลี่ยงการส่งข้อมูลผ่านอินเทอร์เน็ตไปเลย

ทางเลือกที่ดีกว่าคือการเข้าใจกลไกต่าง ๆ ว่าอะไรสามารถเกิดขึ้นในขั้นตอนไหนได้บ้าง แต่บางครั้งมันก็ยากและกินเวลา

ทำไงความปลอดภัยจึงจะเป็นเรื่องง่าย

Subscribe to security