Clear
Lead Graphic Papers

ระวังภัย มัลแวร์ Oldboot บนระบบปฏิบัติการ Android ฝังตัวอยู่ในพาร์ทิชัน boot ติดตั้งตัวเองใหม่ทุกครั้งที่เปิดเครื่อง

วันที่ประกาศ: 29 มกราคม 2557
ปรับปรุงล่าสุด: 29 มกราคม 2557
เรื่อง: ระวังภัย มัลแวร์ Oldboot บนระบบปฏิบัติการ Android ฝังตัวอยู่ในพาร์ทิชัน boot ติดตั้งตัวเองใหม่ทุกครั้งที่เปิดเครื่อง

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

Share on Facebook Share on Twitter Share on Facebook

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

บริษัท Doctor Web ผู้พัฒนาโปรแกรมแอนตี้ไวรัสจากประเทศรัสเซีย และบริษัท Qihoo 360 Technology จากประเทศจีน ได้รายงานการค้นพบมัลแวร์ในระบบปฏิบัติการ Android ที่ฝังตัวอยู่ในส่วนที่ใช้ในการบู๊ตระบบปฏิบัติการ เพื่อโหลดตัวเองขึ้นมาทำงานตั้งแต่ตอนเปิดเครื่อง และติดตั้งตัวเองใหม่แม้จะถูกลบออกจากเครื่องไปแล้ว โดยข้อมูลของ Doctor Web พบว่ามีผู้ตกเป็นเหยื่อของมัลแวร์ตัวนี้แล้วกว่า 350,000 คน ซึ่งในจำนวนนี้มีผู้เสียหายที่อยู่ในประเทศไทยด้วย [1] แต่จากข้อมูลของ Qihoo 360 Technology พบว่าแค่เฉพาะในประเทศจีนมีผู้ที่ติดมัลแวร์นี้ไปแล้วกว่า 500,000 คน [2]

มัลแวร์ตัวนี้มีชื่อว่า Oldboot (หรืออีกชื่อหนึ่งคือ Android.Oldboot) ถือเป็นมัลแวร์ตัวแรกที่ใช้วิธีการติดตั้งตัวเองลงในพาร์ทิชัน boot ของระบบปฏิบัติการ Android ซึ่งเป็นพาร์ทิชันที่ใช้เก็บไฟล์สำหรับการบู๊ตระบบปฏิบัติการ (ทางนักวิจัยจากทั้งสองบริษัทเรียกมัลแวร์ประเภทนี้ว่า bootkit)

วิธีการที่มัลแวร์ติดตั้งตัวเองลงในพาร์ทิชัน boot นั้นปัจจุบันยังไม่ทราบแน่ชัดว่าทำได้อย่างไร เนื่องจากเป็นพาร์ทิชันที่ถูกป้องกันเอาไว้ไม่ให้สามารถแก้ไขข้อมูลได้โดยใช้วิธีการตามปกติ แต่เครื่องที่ติดมัลแวร์ดังกล่าว ผู้ใช้จะพบความผิดปกติคือมีแอพพลิเคชันประเภทโฆษณาถูกติดตั้งอยู่ในเครื่องเป็นจำนวนมาก และเมื่อตรวจสอบดูรายชื่อแอพพลิเคชันที่ติดตั้งอยู่ในเครื่อง จะพบแอพพลิเคชันที่ชื่อ GoogleKernel ซึ่งไม่สามารถลบออกได้ด้วยวิธีปกติ ดังรูปที่ 1


รูปที่ 1 แอพพลิเคชัน GoogleKernel ที่พบในเครื่องที่ติดมัลแวร์ (ที่มา: Doctor Web [1])

เครื่องที่ติดมัลแวร์ Oldboot จะมีไฟล์เหล่านี้ปรากฎอยู่
  • /sbin/imei_chk เป็นไฟล์ ELF executable (สำหรับ ARM)
  • /system/app/GoogleKernel.apk เป็นไฟล์แอพพลิเคชันของ Android
  • /system/lib/libgooglekernel.so เป็นไฟล์ไลบรารี สำหรับให้แอพพลิเคชัน GoogleKernel เรียกใช้งาน

นอกจากนี้ ตัวมัลแวร์ Oldboot ยังแก้ไขไฟล์ /init.rc เป็นไฟล์สคริปต์ที่ใช้กำหนดค่าการบู๊ตระบบปฏิบัติการ เพื่อให้โหลดไฟล์ของมัลแวร์ขึ้นมาทำงานโดยอัตโนมัติทุกครั้งที่เปิดเครื่อง

เมื่อผู้ใช้เปิดเครื่อง ตัวระบบจะอ่านค่าจากไฟล์ init.rc แล้วเรียกใช้งานไฟล์ imei_chk โดยไฟล์ดังกล่าวนี้ทำหน้าที่ extract ไฟล์ GoogleKernel.apk ลงใน /system/app และไฟล์ libgooglekernel.so ลงใน /system/lib

ไฟล์ imei_chk จะเปิด service ไว้เพื่อเชื่อมต่อกับเครื่อง C&C server แล้วให้แอพพลิเคชัน GoogleKernel เรียกใช้ฟังก์ชันจากไฟล์ไลบรารี libgooglekernel.so เพื่อรอรับคำสั่งจาก C&C server มาทำงานต่อ คำสั่งใดๆ ก็ตามที่ C&C server ส่งมาจะถูกรันด้วยสิทธิ์ของ root

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

ผลกระทบ

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

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

อ้างอิงข้อมูลของ Doctor Web พบว่ามีอุปกรณ์ที่ติดมัลแวร์ตัวนี้ประมาณ 300,000 เครื่อง หรือคิดเป็น 92% อยู่ในประเทศจีน ดังรูปที่ 2 และ 3 ซึ่งอาจเป็นไปได้ว่ามัลแวร์ตัวนี้มีเจตน่าเพื่อโจมตีผู้ใช้งานที่อยู่ในประเทศจีนเป็นหลัก ในประเทศไทยพบว่ามีเครื่องที่ตกเป็นอยู่ประมาณ 0.3% หรือประมาณ 1000 เครื่อง


รูปที่ 2 สถิติประเทศที่ติดมัลแวร์ คิดเป็นเปอร์เซ็นต์ (ที่มา: Doctor Web [2])


รูปที่ 2 สถิติประเทศที่ติดมัลแวร์ สถิติประเทศที่ติดมัลแวร์ ตามจำนวนที่พบ (ที่มา: Doctor Web [2])

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

ปัจจุบันยังไม่มีข้อมูลว่ามัลแวร์มีการแพร่กระจายอย่างไร และวิธีการที่มัลแวร์ใช้ในการติดตั้งตัวเองลงในพาร์ทิชัน boot นั้นทำได้อย่างไร แต่จากการสันนิษฐานของทาง Qihoo 360 Technology คาดว่าน่าจะเกิดจากการ Flash ไฟล์ boot.img ที่ถูกสร้างขึ้นเป็นพิเศษให้มีมัลแวร์ชนิดนี้ฝังอยู่ ซึ่ง boot.img นี้ เป็นส่วนที่จะติดตั้งตัวเองลงใน พาร์ทิชั่น boot ของ Firmware image ทุกครั้งที่มีการติดตั้ง Firmware image ใหม่

วิธีการที่เป็นไปได้มากที่สุดที่จะทำให้เครื่องติดมัลแวร์ตัวนี้ คือการฝังโค้ดของมัลแวร์ไว้ใน Custom firmware image แล้วแฟลช Firmware image ดังกล่าวลงในเครื่อง ซึ่งทาง Qihoo 360 Technology พบว่าในร้านขายอุปกรณ์ IT ในประเทศจีน มีการขายโทรศัพท์มือถือ Android ที่ถูกติดตั้ง Custom firmware image ที่ถูกฝังมัลแวร์ตัวนี้มาด้วย

ทาง Qihoo 360 Technology ได้พัฒนาแอพพลิเคชันที่ใช้ตรวจสอบว่าเครื่องที่ใช้งานอยู่ถูกมัลแวร์ Oldboot ฝังตัวอยู่หรือเปล่า ซึ่งผู้ใช้สามารถดาวน์โหลดแอพพลิเคชันดังกล่าวมาตรวจสอบได้จากเว็บไซต์ของ Qihoo 360 Technology

หากพบว่าเครื่องที่ใช้งานอยู่ได้ติดมัลแวร์ไปแล้ว การ Uninstall แอพพลิเคชันของมัลแวร์ออกจากเครื่องไม่สามารถช่วยอะไรได้ เพราะเมื่อเปิดเครื่องขึ้นมาใหม่ ตัวมัลแวร์ก็จะถูกติดตั้งลงในเครื่องได้อีก รวมถึงการทำ Factory Reset ก็ไม่สามารถช่วยได้เพราะส่วนมากหารทำ Factory Reset เป็นแค่การลบไฟล์ Config หรือข้อมูลของผู้ใช้งานเท่านั้น ส่วน Firmware image นั้นยังคงไม่มีการเปลี่ยนแปลง

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

สำหรับอีกวิธีการหนึ่งที่ทาง Doctor Web แนะนำในการป้องกันมัลแวร์ตัวนี้หรือมัลแวร์ที่มีการทำงานใกล้เคียงกัน คือควรระวังการซื้ออุปกรณ์ Android ที่ไม่ทราบแหล่งที่มา (ซึ่งอาจรวมไปถึงอุปกรณ์ที่ไม่มีข้อมูลผู้ผลิตที่ชัดเจน) และควรติดตั้ง Firmware image ที่มาจากแหล่งที่น่าเชื่อถือเท่านั้น

อ้างอิง

  1. http://news.drweb.com/show/?i=4206&lng=en&c=5
  2. http://blogs.360.cn/360mobile/2014/01/17/oldboot-the-first-bootkit-on-android/

Clear