Sunday, September 30, 2012

ระวัง!! โทรศัพท์แอนดรอยด์อาจถูกฟอร์แมตโดยไม่รู้ตัว

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


ผลกระทบที่เกิดขึ้นนั้น สามารถทำให้ผู้โจมตีสามารถส่งคำสั่งให้ทำงานในโทรศัพท์ของเหยื่อได้ด้วยวิธีการที่หลากหลาย เช่น การสร้าง QRCode การส่งผ่าน NFC (Near Field Communication) เป็นต้น ซึ่งที่จริงแล้วเทคนิคนี้ผมเคยเขียนไว้ในบทความเรื่อง แนวโน้มภัยร้ายเกี่ยวกับบาร์โค้ด 2 มิติ เมื่อปี 2549 (เก่าเหมือนกันนะ)ถ้าหากมีผู้ไม่หวังดีสร้าง QRCode ด้วยชุดคำสั่งให้ฟอร์แมตเครื่อง จากนั้นก็ส่งมาเชื้อเชิญให้เหยื่อหลงเชื่อและสแกน จากนั้นโทรศัพท์มือถือของเหยื่อก็จะเรียกใช้งานคำสั่งนั้นทันที ทำให้เครื่องโทรศัพท์มือถือถูกฟอร์แมตด้วย


วิธีการทดสอบ
รูปที่ 1 แสดง QRCode จะทำให้โทรศัพท์แอนดรอยด์ที่มีช่องโหว่จะแสดงเลข IMEI
*** หมายเหตุ รูปบาร์โค้ดนี้เพียงแค่ให้แสดงค่า IMEI เท่านั้น (ไม่มีอันตราย) และจะต้องเป็นรูปที่อยู่ในเว็บนี้เท่านั้น เพื่อป้องกันการแอบอ้างและหลอกให้รันคำสั่งได้ ***
  1. เปิดโปรแกรมสำหรับอ่าน QRCode แล้วอ่าน QRCode ดังรูปที่ 1
  2. ถ้าหากว่าโปรแกรมอ่านได้ค่า IMEI แสดงว่าโทรศัพท์แอนดรอยด์ของท่านมีช่องโหว่

วิธีการแก้ไข สำหรับโทรศัพท์แอนดรอยด์ที่มีช่องโหว่ มี 3 วิธีคือ
รูปที่ 2 แสดงผลการอ่านบาร์โค้ดหลังจากติดตั้งโปรแกรม Dialer One
  1. อัพเดตเฟิร์มแวร์ของโทรศัพท์มือถือ
  2. ติดตั้งแอพสำหรับช่วยในการโทรศัพท์เพิ่มเติม เช่น Dialer One โดยค้นหาโปรแกรมดังกล่าวนี้จาก Play Store เพื่อป้องกันการหมุนอัตโนมัติ ซึ่งส่งผลให้คำสั่ง USSD ไม่สามารถรันได้ทันที ดังรูปที่ 2
  3. ปรับแต่งที่โปรแกรมสำหรับอ่าน QRCode เพื่อไม่ให้เปิดเว็บหรือหมุนโทรศัพท์ออกอัตโนมัติ

เอกสารอ้างอิง
  1. https://www.hkcert.org/my_url/en/blog/12092801
  2. https://mobileforensics.wordpress.com/2008/07/17/phone-codes/
  3. https://dylanreeve.posterous.com/remote-ussd-attack

No comments: