ระวังภัย มัลแวร์ Oldboot บนระบบปฏิบัติการ Android ฝังตัวอยู่ในพาร์ทิชัน boot ติดตั้งตัวเองใหม่ทุกครั้งที่เปิดเครื่อง
ประเภทภัยคุกคาม: Malicious Code
ข้อมูลทั่วไปบริษัท 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 ที่มาจากแหล่งที่น่าเชื่อถือเท่านั้น
อ้างอิง
http://news.drweb.com/show/?i=4206&lng=en&c=5http://blogs.360.cn/360mobile/2014/01/17/oldboot-the-first-bootkit-on-android/ที่มา:
https://www.thaicert.or.th/alerts/user/2014/al2014us002.html