Clear
Lead Graphic Papers

นักวิจัยพบว่าแอพบน iOS สามารถถูก Hijack ดักแก้ไขข้อมูลระหว่างทางได้

ผู้เขียน: เสฏฐวุฒิ แสนนาม
วันที่เผยแพร่: 30 ตุลาคม 2556
ปรับปรุงล่าสุด: 30 ตุลาคม 2556

Share on Facebook Share on Twitter Share on Google+

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

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

เมื่อวันที่ 29 ตุลาคม 2556 นักวิจัยจากศูนย์วิจัย Skycure ประเทศอิสราเอล พบว่าแอพพลิเคชัน iOS บน App Store อย่างน้อย 10,000 ตัว สามารถถูก Hijack เพื่อเปลี่ยนแปลงการรับส่งข้อมูลจากเซิร์ฟเวอร์จริงให้ไปยังเซิร์ฟเวอร์ของแฮ็กเกอร์ได้ โดยใช้ช่องโหว่ของ HTTP Request [1]

การโจมตีด้วยวิธีนี้เรียกว่า HTTP Request Hijack (HRH) ซึ่งเป็นการใช้ประโยชน์จาก HTTP Status Code 301 [2] [3] ที่ใช้สำหรับการ Redirect จาก URL หนึ่งไปยังอีก URL หนึ่งโดยอัตโนมัติ ในกรณีที่ URL เดิมนั้นถูกเปลี่ยนชื่อหรือไม่มีอยู่บนเซิร์ฟเวอร์แล้ว

โดยปกติเมื่อใช้เบราว์เซอร์เปิดไปยังเว็บไซต์ที่มีการส่ง HTTP Status Code 301 ตัวเบราว์เซอร์จะ Redirect ไปยังหน้าเว็บไซต์ปลายทางตามที่เซิร์ฟเวอร์ได้ตั้งค่าไว้ และแถบ Address Bar ของเบราว์เซอร์จะแสดง URL ปลายทางที่ถูก Redirect ไป แต่สำหรับบางแอพพลิเคชันบน iOS จะไม่มีการแสดงข้อมูล URL ปลายทางที่ว่านี้ให้ผู้ใช้เห็น ดังนั้นผู้ใช้จะไม่สามารถทราบได้ว่าข้อมูลที่แสดงอยู่ในแอพพลิเคชันนั้นมีแหล่งที่มาจากเซิร์ฟเวอร์จริงของผู้พัฒนาแอพหรือมาจากเซิร์ฟเวอร์ของแฮ็กเกอร์

การโจมตีสามารถทำได้ง่ายๆ โดยใช้วิธี Man-in-the-Middle attack ผ่านการเชื่อมต่อแบบ Wi-Fi หรือเครือข่ายที่ไม่ได้มีการตั้งค่าความปลอดภัย จากนั้นก็รอให้เหยื่อเปิดแอพพลิเคชันที่มีช่องโหว่ แล้วแฮ็กเกอร์ก็ส่ง HTTP Status 301 ออกไปเพื่อให้แอพพลิเคชันนั้นเชื่อมต่อเข้ามาที่เซิร์ฟเวอร์ของตัวเอง ตัวอย่างวิธีการโจมตีอธิบายดังคลิปด้านล่าง [4]

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

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

อย่างไรก็ตาม การโจมตีด้วยวิธีนี้นี้ไม่มีผลกับแอพพลิเคชันที่ใช้การเชื่อมต่อแบบ HTTPS (นอกเสียจากว่าผู้ใช้จะไปติดตั้ง Certificate ปลอมลงในเครื่อง)

ทีมนักวิจัยจาก Skycure คาดว่าแอพพลิเคชันบน Android และ Windows Phone อาจจะสามารถใช้วิธีการโจมตีแบบเดียวกันนี้ได้เช่นกัน แต่ยังไม่ได้ทำการทดสอบแอพพลิเคชันในแพลตฟอร์มดังกล่าว

สำหรับผู้ใช้งานระบบปฏิบัติการ iOS ควรใช้ความระมัดระวังในการเชื่อมต่อ Wifi สาธารณะ ในกรณีที่ต้องการใช้งานแอพพลิเคชันที่มีการรับส่งข้อมูลสำคัญที่เป็นความลับ เช่น แอพพลิเคชันของธนาคาร หากเป็นไปได้ควรเชื่อมต่อผ่าน Mobile Network และควรอัพเดตแอพพลิเคชันที่ใช้งานอยู่ให้เป็นเวอร์ชันล่าสุดอย่างสม่ำเสมอ

สำหรับนักพัฒนาแอพพลิเคชันบน iOS ทางนักวิจัยจาก Skycure แนะนำว่าควรแก้ไขปัญหานี้โดยเร็วที่สุด การเปลี่ยนไปใช้วิธีการเชื่อมต่อแบบ HTTPS ก็อาจจะพอช่วยได้ แต่ยังไม่ใช่การแก้ไขที่สาเหตุของปัญหา นักวิจัยได้เขียนตัวอย่างโค้ดสำหรับใช้แก้ไขช่องโหว่นี้ โดยสามารถศึกษาได้จากเว็บไซต์ของ Skycure [6]

อ้างอิง

  1. http://arstechnica.com/security/2013/10/ios-apps-can-be-hijacked-to-show-fraudulent-content-and-intercept-data/
  2. https://support.google.com/webmasters/answer/93633?hl=en
  3. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2
  4. https://www.youtube.com/watch?v=wByvUoe7pHw
  5. http://www.youtube.com/watch?v=_X8ovx9vMZM
  6. http://www.skycure.com/blog/http-request-hijacking/
Clear