Clear
Lead Graphic Papers

ระวังภัย ช่องโหว่ในระบบปฏิบัติการ Android ผู้ไม่หวังดีสามารถทำ Remote Factory Reset ได้

วันที่ประกาศ: 26 กันยายน 2555
ปรับปรุงล่าสุด: 26 กันยายน 2555
เรื่อง: ระวังภัย ช่องโหว่ในระบบปฏิบัติการ Android ผู้ไม่หวังดีสามารถทำ Remote Factory Reset ได้

ประเภทภัยคุกคาม: Malicious Code

Share on Facebook Share on Twitter Share on Google+

ข้อมูลทั่วไป

USSD หรือ Unstructured Supplementary Service Data เป็นโพรโทคอลที่โทรศัพท์มือถือใช้ในการส่งข้อมูลเพื่อติดต่อกับผู้ให้บริการ ในเครือข่าย GSM เช่น สมัครใช้บริการเสริม หรือตรวจสอบยอดเงินคงเหลือ เป็นต้น รูปแบบของ USSD โดยทั่วไปจะประกอบด้วยเครื่องหมาย * # และตัวเลขผสมกัน เช่น *123# เป็นต้น ในโทรศัพท์มือถือบางรุ่นจะมี USSD เพื่อใช้ในการเข้าถึงฟังก์ชันพิเศษของโทรศัพท์ เช่น กด *#06# เพื่อตรวจสอบหมายเลข IMEI ของเครื่อง หรือลบข้อมูลทั้งหมดในเครื่องให้อยู่ในสภาพที่ออกมาจากโรงงาน (Factory Reset) เป็นต้น ซึ่งในบางคำสั่งจะทำงานทันทีที่กดตัวอักษรสุดท้ายเสร็จ โดยไม่จำเป็นต้องกดปุ่มโทรออกแต่อย่างใด [1]

ในงาน Ekoparty Security Conference นักวิจัยจาก Technical University Berlin ได้สาธิตช่องโหว่ของ USSD ใน Galaxy S3 ซึ่งอนุญาตให้ผู้ไม่หวังดีสามารถลบข้อมูลของเครื่องจากระยะไกลได้ (Remote Factory Reset) สาเหตุของช่องโหว่ดังกล่าวนี้ เกิดจาก

1. แอปพลิเคชัน Dialer (Phone.apk) ของระบบปฏิบัติการ Android ซึ่งใช้ในการโทรศัพท์ จะทำการเปิด URI ที่ขึ้นต้นด้วย tel: โดยอัตโนมัติ แต่โดยปกติแล้วจะยังไม่ประมวลผลคำสั่งดังกล่าว

2. โปรแกรม Dialer ของผู้ผลิตบางราย (เช่น Samsung) ถูกตั้งค่าให้ประมวลผล USSD โดยอัตโนมัติ ซึ่งนำไปสู่การประมวลผลคำสั่งอันตรายได้

3. คำสั่ง USSD ที่เป็นอันตรายต่อระบบ เช่น การทำ Factory Reset นั้นสามารถทำงานได้โดยไม่ต้องมีการยืนยันจากผู้ใช้ และผู้ผลิตบางรายมีการเปิดเผยคำสั่งดังกล่าวนี้สู่สาธารณะ

นักวิจัยได้สาธิตการเปิดเว็บไซต์ที่มีแท็ก <iframe> ซึ่งภายในบรรจุโค้ด USSD สำหรับทำ Factory Reset ของเครื่อง Galaxy S3 ไว้ เมื่อผู้ใช้เข้าไปยังเว็บไซต์ดังกล่าว เครื่องก็จะทำการลบข้อมูลทั้งหมดเพื่อกลับไปสู่สภาพเดิมที่ออกมาจากโรงงาน ทันที วิดีโอสาธิตการโจมตีดังกล่าวสามารถดูได้จาก YouTube [2]

ผลกระทบ

ผู้ไม่หวังดีสามารถสั่งลบข้อมูลในเครื่องของเหยื่อ ด้วยการหลอกให้เข้าไปยังเว็บไซต์ที่มีคำสั่งอันตราย หรือส่งคำสั่งดังกล่าวผ่านทาง QR Code, NFC หรือ Push Message ได้ [3]

ระบบที่ได้รับผลกระทบ

ปัจจุบันมีรายงานว่ามีเพียงอุปกรณ์ที่ใช้งานระบบปฏิบัติการ Android ของ Samsung ที่ใช้ TouchWiz UI เท่านั้นที่มีช่องโหว่ Remote Factory Reset โดยนอกจาก Galaxy S3 แล้ว ผู้ใช้ Galaxy Beam, Galaxy S Advance, Galaxy Ace, และ Galaxy S II ได้แจ้งว่ามีช่องโหว่ดังกล่าวด้วย และจากข้อมูลใน XDA-Developers พบว่า โทรศัพท์มือถือของ HTC ก็มีช่องโหว่ดังกล่าวนี้ด้วยเช่นกัน แต่ยังไม่มีข้อมูลว่าสามารถทำ Factory Reset ได้ [4]

สำหรับเครื่องที่ใช้ระบบปฏิบัติการ Android ที่มาจาก Google โดยตรง เช่น Galaxy Nexus เมื่อเข้าไปยังหน้าเว็บไซต์ที่มีโค้ดอันตรายอยู่ จะแสดง USSD ในโปรแกรม Dialer แต่จะไม่ประมวลผลคำสั่ง USSD นั้นโดยอัตโนมัติ อีกทั้งมีผู้ใช้งานบางรายให้ข้อมูลเพิ่มเติมว่า โทรศัพท์มือถือที่ถูกติดตั้ง TouchWiz UI มาจากโรงงาน แต่นำมาติดตั้ง Custom Rom ที่พัฒนามาจาก Rom ของ Google โดยตรง เช่น CyanogenMod นั้นไม่มีปัญหาดังกล่าว [5]

นอกจากนี้ ยังมีรายงานเพิ่มเติมว่า แอปพลิเคชันประเภท Dialer บางตัวใน Play Store เช่น exDialer มีช่องโหว่ประมวลผล USSD โดยอัตโนมัติด้วยเช่นกัน

ข้อแนะนำในการป้องกันและแก้ไข

ยังไม่มีแถลงการณ์จาก Samsung เกี่ยวกับช่องโหว่นี้ แต่มีรายงานจากผู้ใช้ Galaxy S3 ใน Forum ของ XDA-Developers ว่า Firmware ล่าสุดของ Galaxy S3 ได้แก้ไขปัญหานี้แล้ว [6] อย่างไรก็ตาม สำหรับผู้ใช้โทรศัพท์รุ่นอื่น ควรตรวจสอบข้อมูลกับศูนย์บริการอีกครั้งเพื่อความปลอดภัย

นาย Dylan Reeve ได้วิเคราะห์ช่องโหว่ดังกล่าว และได้ทำ หน้าเว็บไซต์สำหรับทดสอบช่องโหว่ดังกล่าวนี้ โดย หากผู้ใช้โทรศัพท์มือถือเข้าไปยังลิงก์ดังกล่าว แล้วพบว่าแอปพลิเคชัน Dialer แสดงหมายเลข IMEI ของเครื่องขึ้นมา แสดงว่าเครื่องที่ใช้งานอยู่นั้นมีช่องโหว่

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

1. ติดตั้งแอปพลิชัน Dialer เพิ่มเติม เพื่อใช้งานแทนแอปพลิเคชันที่มากับ Firmware อย่างไรก็ตาม การแก้ปัญหาด้วยวิธีนี้ ผู้ใช้ต้องแน่ใจว่าแอปพลิเคชันนั้นจะไม่ประมวลผลคำสั่ง USSD โดยอัตโนมัติ

2. ติดตั้งแอปพลิชัน Dialer เพิ่มเติม แต่ไม่ต้องตั้งค่าให้ใช้โปรแกรมใดเป็นค่า Default ของเครื่อง ซึ่งวิธีการดังกล่าวนี้จะทำให้เมื่อผู้ใช้เปิดเว็บที่มีโค้ด tel: อยู่ แล้วโปรแกรมต้องการโทรออกหรือประมวลผล USSD จะปรากฎหน้าจอให้ผู้ใช้เลือกว่าต้องการโทรออกโดยใช้แอปพลิเคชันใด ซึ่งผู้ใช้สามารถกดยกเลิกการโทรออกได้ อย่างไรก็ตาม การใช้งานวิธีนี้มีข้อเสียคือจำเป็นต้องเลือกโปรแกรมสำหรับใช้โทรออกทุก ครั้ง [7] ดังรูปที่ 1

Al2012ho0003-1.png
รูปที่ 1 หน้าจอการเลือกโปรแกรมสำหรับใช้โทรออก (ที่มา Dylan Reeve)

3. ติดตั้ง Opera Mobile และใช้เป็นเบราว์เซอร์หลักของเครื่อง เนื่องจากจะไม่แสดงข้อมูลใน <iframe> โดยอัตโนมัติ ดังรูปที่ 2

Al2012ho0003-2.png
รูปที่ 2 Opera Mobile ไม่แสดงผลข้อมูลใน <iframe>

อ้างอิง

  1. http://www.etsi.org/deliver/etsi_gts/02/0290/05.01.00_60/gsmts_0290v050100p.pdf
  2. http://www.youtube.com/watch?v=Q2-0B04HPhs
  3. http://www.zdnet.com/samsung-galaxy-s3-vulnerable-to-remote-malicious-reset-7000004771/
  4. http://forum.xda-developers.com/showthread.php?t=1904629
  5. http://techcrunch.com/2012/09/25/got-touchwiz-some-samsung-smartphones-can-be-totally-wiped-by-clicking-a-link/
  6. http://forum.xda-developers.com/showpost.php?p=31998672&postcount=33
  7. http://dylanreeve.posterous.com/remote-ussd-attack

Clear