รู้ทันและป้องกัน Malware ในระบบปฏิบัติการ Android
ผู้เขียน: เสฏฐวุฒิ แสนนามวันที่เผยแพร่: 24 ม.ค. 2555
ปรับปรุงล่าสุดวันที่: 24 ม.ค. 2555
ในยุคแห่งการติดต่อสื่อสาร คงไม่อาจปฏิเสธได้ว่าการใช้งานโทรศัพท์มือถือนั้นเป็นสิ่งจำเป็น เนื่องจากความก้าวหน้าทางเทคโนโลยี ทำให้ระบบปฏิบัติการในโทรศัพท์มือถือนั้นสามารถทำงานหลายอย่างได้เทียบเท่ากับคอมพิวเตอร์ทั่วไป โดยเฉพาะโทรศัพท์มือถือ Smartphone [1] นั้น นอกจากจะใช้เป็นโทรศัพท์ได้แล้วยังสามารถติดตั้งโปรแกรมเพิ่มเติมเพื่อให้สามารถทำงานในส่วนอื่นๆ ได้อีกด้วย เช่น เชื่อมต่อกับเครือข่ายสังคมออนไลน์ หรือทำธุรกรรมทางอิเล็กทรอนิกส์ เป็นต้น แต่การอนุญาตให้ผู้ใช้ติดตั้งโปรแกรมเพิ่มเติมได้ ก็เป็นการเปิดโอกาสให้ผู้ไม่หวังดีพัฒนาโปรแกรมไม่พึงประสงค์ (Malware) เพื่อเข้ามาโจมตีโทรศัพท์มือถือของผู้ใช้ได้เช่นกัน
ระบบปฏิบัติการในโทรศัพท์มือถือในปัจจุบันมีอยู่หลากหลาย ไม่ว่าจะเป็น Apple iOS, Microsoft Windows Phone, BlackBerry OS, Symbian หรือ Android แต่ระบบปฏิบัติการที่ได้รับความนิยมสูงสุดและมีส่วนแบ่งในตลาดมากที่สุดใน ปัจจุบันนี้คือ Android จากข้อมูลของ Gartner ซึ่งเป็นบริษัทที่วิจัยเกี่ยวกับเทคโนโลยี พบว่าในเดือนพฤศจิกายน พ.ศ. 2554 ระบบปฏิบัติการ Android มีส่วนแบ่งในตลาดถึง 52.5% [2] นั่นเท่ากับว่า ครึ่งหนึ่งของผู้ใช้โทรศัพท์มือถือทั่วโลกใช้ระบบปฏิบัติการ Android
ในปัจจุบันระบบปฏิบัติการ Android ถูกพัฒนาโดย Google โดยมีพื้นฐานมาจากระบบปฏิบัติการ Linux [3] Android ออกเวอร์ชัน 1.0 ในปี พ.ศ. 2551 ปัจจุบันพัฒนามาถึงเวอร์ชัน 4.0 ซึ่งมีชื่อทางการว่า Ice Cream Sandwich [4] ในตอนแรกนั้นระบบปฏิบัติการ Android ถูกพัฒนามาเพื่อใช้ในโทรศัพท์มือถือเพียงอย่างเดียว จนกระทั่งเวอร์ชัน 3.0 หรือที่มีชื่อทางการว่า Honeycomb ได้ถูกพัฒนาให้ใช้งานได้กับแท็บเล็ต (Tablet) ด้วย เนื่องจาก Google แจกจ่ายระบบปฏิบัติการ Android ในรูปแบบของโอเพนซอร์ส (Open Source) ทำให้ผู้ผลิตสามารถนำระบบปฏิบัติการ Android ไปพัฒนาลงในอุปกรณ์ของตนเอง เช่น โทรศัพท์มือถือ หรือ แท็บเล็ต ได้โดยไม่เสียค่าใช้จ่าย ดังนั้นเราจึงพบการใช้งานอุปกรณ์ที่มีการติดตั้งระบบปฎิบัติการ Android อยู่เป็นจำนวนมาก โดยมีราคาแตกต่างกันไปตามคุณสมบัติของตัวอุปกรณ์
เนื่องจากความนิยมของระบบปฏิบัติการ Android จึงมีผู้พัฒนา Malware ออกมาเผยแพร่เป็นจำนวนมาก จากแต่ก่อนที่มีการเผยแพร่ผ่านไฟล์ .apk (ไฟล์สำหรับติดตั้งโปรแกรมของ Android) เพียงอย่างเดียว แต่ในปัจจุบันนี้พบว่า ใน Android Market ที่เป็นรูปแบบหลักในการเผยแพร่โปรแกรมของระบบปฏิบัติการ Android ซึ่งดูแลโดย Google นั้นพบว่าไม่มีการตรวจสอบโปรแกรมที่ผู้พัฒนาส่งเข้ามา ทำให้มีการส่ง Malware เข้ามาใน Android Market อยู่บ่อยครั้ง [5] และจากข้อมูลของ Juniper Networks Global Threat Center พบว่า ตั้งแต่เดือนกรกฎาคมถึงเดือนพฤศจิกายน 2554 อัตราการเพิ่มขึ้นของ Malware ในระบบปฏิบัติการ Android มีถึง 472% [6] จากความเสี่ยงดังกล่าว ผู้ใช้อุปกรณ์ที่ติดตั้งระบบปฏิบัติการ Android จึงควรศึกษาวิธีการติดตั้งโปรแกรมและปรับการใช้งานให้เหมาะสม เพื่อเป็นการป้องกัน Malware ไม่ให้ติดโทรศัพท์มือถือหรือแท็บเล็ตของตนเอง
การติดตั้งโปรแกรมในระบบปฏิบัติการ Android
โดยปกติแล้ว การติดตั้งโปรแกรมในระบบปฏิบัติการ Android สามารถทำได้ 2 ทาง คือ ติดตั้งจาก Android Market และดาวน์โหลดไฟล์ .apk มาติดตั้งเอง ซึ่งแต่ละแบบมีวิธีการดังนี้ติดตั้งจาก Android Market
Android Market คือศูนย์รวมโปรแกรมของระบบปฏิบัติการ Android ที่ Google เปิดให้ผู้ใช้สามารถเข้ามาค้นหาและดาวน์โหลดโปรแกรมที่มาจากผู้พัฒนาภายนอกได้ผ่านทางเว็บไซต์ https://market.android.com/ หรือเข้าจากโปรแกรม Market ในโทรศัพท์มือถือ หากผู้ใช้ต้องการติดตั้งโปรแกรมใดๆ ก็สามารถคลิกที่ปุ่ม Install หรือ Purchase ที่อยู่ใต้ชื่อของโปรแกรมนั้นๆ หลังจากเลือกอุปกรณ์ที่ต้องการติดตั้งโปรแกรมแล้ว หากผู้ใช้เชื่อมต่ออุปกรณ์ดังกล่าวเข้ากับอินเทอร์เน็ต โปรแกรมที่เลือกก็จะถูกดาวน์โหลดและติดตั้งลงในอุปกรณ์ดังกล่าวให้โดยอัตโนมัติ ตัวอย่างหน้าจอเว็บไซต์ Android Market เป็นดังรูปที่ 1
รูปที่ 1 เว็บไซต์ Android Market
ติดตั้งจากไฟล์ .apk
ไฟล์ .apk เป็นไฟล์ที่ใช้สำหรับติดตั้งโปรแกรมของระบบปฏิบัติการ Android ซึ่งผู้ใช้อาจดาวน์โหลดมาจากเว็บไซต์ของผู้พัฒนาโปรแกรมเอง หรือดาวน์โหลดมาจากเว็บไซต์ที่แจกโปรแกรมละเมิดลิขสิทธิ์ โดยปกติแล้วระบบปฏิบัติการ Android จะรองรับการติดตั้งโปรแกรมอื่นๆ ที่ไม่ได้อยู่ใน Android Market ได้ โดยผู้ใช้ต้องมากำหนดค่าจากเมนู Setting เลือก Applications แล้วเลือก Unknow sources เพื่อยอมรับการติดตั้งโปรแกรมที่ไม่รู้แหล่งที่มา ดังรูปที่ 2
รูปที่ 2 การยอมรับการติดตั้งโปรแกรมที่ไม่รู้แหล่งที่มา
ผู้ใช้สามารถใช้โปรแกรมประเภท File Manager เพื่อทำการติดตั้งโปรแกรมจากไฟล์ .apk ที่ดาวน์โหลดมาได้แต่ไม่ว่าจะเป็นการติดตั้งโปรแกรมจาก Android Market หรือจากไฟล์ .apk ระบบปฏิบัติการ Android จะแสดงหน้าจอ Permission เพื่อให้ผู้ใช้ตรวจสอบและยอมรับสิทธิการเข้าถึงของโปรแกรมที่จะติดตั้ง ดังรูปที่ 3 โดยรายละเอียดของ Permission จะกล่าวถึงในหัวข้อถัดไป

รูปที่ 3 ตัวอย่างหน้าจอ Permission เมื่อทำการติดตั้งโปรแกรมจากเว็บไซต์ Android Market
Permission ใน Android คืออะไร
ระบบปฏิบัติการ Android นั้นถูกออกแบบมาให้มีความมั่นคงปลอดภัยตั้งแต่แรก โปรแกรมทุกตัวในระบบจะสามารถเข้าถึงได้แค่คุณสมบัติพื้นฐานของระบบ เช่น ส่วนติดต่อกับผู้ใช้ การแสดงผลทางหน้าจอ เป็นต้น หากผู้พัฒนาต้องการให้โปรแกรมของตนมีการเรียกใช้คุณสมบัติพิเศษเพิ่มเติมจากระบบปฏิบัติการ เช่น อ่านข้อมูลบัญชีผู้ใช้ หรือเขียนข้อมูลใน SD Card ก็จำเป็นต้องเพิ่มส่วนที่เป็นการขอใช้สิทธิ (Permission) ดังกล่าวในโปรแกรมของตนด้วย [7] [8] [9] ซึ่งรายการสิทธิทั้งหมดที่โปรแกรมต้องการใช้งานนั้นจะปรากฏตั้งแต่แรกตอนผู้ใช้ติดตั้งโปรแกรม ดังรูปที่ 4 เพื่อให้ผู้ใช้ได้รับทราบและพิจารณาการทำงานของโปรแกรมก่อนทำการติดตั้ง
รูปที่ 4 ตัวอย่างการขอ Permission ในการติดตั้งโปรแกรม
ตัวอย่าง Permission ที่ควรพิจารณาก่อนทำการติดตั้งโปรแกรม มีดังนี้ [10]- Services that cost you money
- Make phone calls
- อนุญาตให้โปรแกรมโทรออกได้
- Send SMS or MMS
- อนุญาตให้โปรแกรมส่ง SMS หรือ MMS ได้
- Make phone calls
- Storage
- Modify/delete SD card contents
- อนุญาตให้โปรแกรมสร้าง แก้ไข หรือลบข้อมูลที่อยู่ใน SD Card ได้ ซึ่งจำเป็นในบางโปรแกรม เพราะต้องเก็บข้อมูลลงใน SD Card
- Modify/delete SD card contents
- Your personal information
- Read contact data, write contact data
- อนุญาตให้โปรแกรมอ่านหรือสร้างรายชื่อผู้ติดต่อในสมุดโทรศัพท์ได้
- Read calendar data, write calendar data
- อนุญาตให้โปรแกรมอ่านข้อมูลหรือสร้างกำหนดการให้ปฏิทินได้
- Read/write Browser history and bookmarks
- อนุญาตให้โปรแกรมดูข้อมูลเว็บไซต์ที่ผู้ใช้เคยเข้าหรือดู Bookmark ได้
- Read logs / Read sensitive logs
- อนุญาต ให้โปรแกรมสามารถอ่าน log ของโปรแกรมอื่นหรือ log ของระบบได้ ซึ่งโดยปกติแล้วโปรแกรมที่ใช้ Permission นี้มีแค่โปรแกรมของ Google
- Read contact data, write contact data
- Phone calls
- Read phone state and identity
- อนุญาตให้โปรแกรมอ่านหมายเลข IMEI และ IMSI ของเครื่อง
- Read phone state and identity
- Your location
- Fine (GPS) location
- อนุญาตให้โปรแกรมตรวจสอบตำแหน่งที่อยู่ของผู้ใช้จาก GPS
- Coarse (network-based) location
- อนุญาตให้โปรแกรมตรวจสอบตำแหน่งที่อยู่ของผู้ใช้จากผู้ให้บริการโทรศัพท์
- Fine (GPS) location
- Network Communication
- Create Bluetooth connection
- อนุญาตให้โปรแกรมสร้างการเชื่อมต่อผ่าน Bluetooth จำเป็นต้องใช้ในโปรแกรมที่ใช้ในการรับส่งไฟล์หรือเชื่อมต่อหูฟังไร้สาย
- Full internet access
- อนุญาตให้โปรแกรมเชื่อมต่อกับอินเทอร์เน็ต
- View network state / Wi-Fi state
- อนุญาตให้โปรแกรมตรวจสอบว่าผู้ใช้เชื่อมต่ออินเทอร์เน็ตผ่าน Data หรือ Wi-Fi
- Create Bluetooth connection
- Your accounts
- Discover Known Accounts
- อนุญาตให้โปรแกรมสามารถอ่าน Username ของผู้ใช้ได้ (เฉพาะ Username ไม่รวม Password)
- Manage Accounts
- อนุญาตให้โปรแกรมสร้าง Account ใหม่เพิ่มในระบบได้ ซึ่งจำเป็นต้องใช้ในโปรแกรมประเภท Social media
- Use Credentials
- อนุญาตให้โปรแกรมเข้าถึง User account ของผู้ใช้ ซึ่งรวมถึง Username และ Password
- Discover Known Accounts
- Your messages
- Read/modify Gmail
- อนุญาตให้โปรแกรมสามารถเข้าถึงบัญชี Gmail ของผู้ใช้ได้
- Read/modify Gmail
- System tools
- Install Packages
- อนุญาต ให้โปรแกรมสามารถติดตั้งโปรแกรมอื่นเพิ่มเติมได้ โปรแกรมโดยทั่วไปไม่ควรร้องขอสิทธินี้ ยกเว้นจะเป็นโปรแกรมประเภท Market หากไม่ใช่ ให้สงสัยไว้ก่อนว่าโปรแกรมนั้นอาจจะเป็น Malware
- Prevent phone from sleeping
- อนุญาต ให้โปรแกรมป้องกันไม่ให้เครื่องเข้าสู่สถานะ Sleep หากผู้ใช้ไม่ได้ทำอะไรกับเครื่องตามระยะเวลาที่กำหนด ความสามารถนี้อาจถูกใช้ในโปรแกรมบางประเภท เช่น โปรแกรมเล่นวีดีโอ
- Modify global system settings
- อนุญาตให้โปรแกรมแก้ไขค่าของระบบ ซึ่งจำเป็นต้องใช้ในบางโปรแกรมเท่านั้น เช่น Widget หรือโปรแกรมปรับแต่งระบบ
- Read sync settings
- อนุญาตให้โปรแกรมตรวจสอบว่าผู้ใช้เปิดการ Synchronize ข้อมูลให้กับโปรแกรมที่ทำงานอยู่เบื้องหลัง (เช่น Facebook, Gmail) หรือเปล่า
- Restart other applications
- อนุญาตให้โปรแกรมทำการ Restart โปรแกรมอื่นหรือเปล่า
- Retrieve running applications
- อนุญาตให้โปรแกรมตรวจสอบรายชื่อของโปรแกรมที่กำลังทำงานอยู่ โดยทั่วไปจะใช้กับโปรแกรมประเภท Task killer
- Automatically start at boot
- อนุญาตให้โปรแกรมเริ่มทำงานโดยอัตโนมัติทุกครั้งที่เปิดเครื่อง
- Install Packages
- Hardware controls
- Control Vibrator
- อนุญาตให้โปรแกรมทำให้เครื่องสั่นได้ ซึ่งจำเป็นต้องใช้ในบางโปรแกรม เช่น เช่น ทำให้เครื่องสั่นเมื่อมีสายเข้าหรือแจ้งเตือนกำหนดการ
- Take Pictures & Video
- อนุญาตให้โปรแกรมสามารถถ่ายรูปหรือวีดีโอได้
- Control Vibrator
หากผู้ใช้ต้องการตรวจสอบว่าโปรแกรมที่ติดตั้งไปแล้วนั้น มีการขอ Permission อะไรบ้าง สามารถทำได้ด้วยการเข้าไปที่เมนู Settings เลือก Applications แล้วเลือก Manage applications จากนั้นจะปรากฏรายชื่อโปรแกรมที่ติดตั้งในระบบ ซึ่งสามารถเลือกดูรายละเอียด Permission ของแต่ละโปรแกรมได้
หากโปรแกรมที่ได้ติดตั้งไปแล้ว แจ้งให้ทำการ Update แบบ Manual update หมายความว่าทางผู้พัฒนามีการปรับเปลี่ยน Permission บางอย่างจากเวอร์ชันก่อนหน้า ก่อนทำการติดตั้งโปรแกรมเวอร์ชันใหม่ควรตรวจสอบ Permission เพื่อความแน่ใจอีกครั้งหนึ่ง
อันตรายและการป้องกันภัยจาก Malware
จากเหตุการณ์ที่ผ่านมา พบว่าผู้พัฒนา Malware ในระบบปฏิบัติการ Android โดยส่วนใหญ่จะใช้วิธีการสร้างโปรแกรมที่ดูเหมือนจะไม่มีอันตรายแต่แอบแฝงโค้ดอันตรายมาด้วย ซึ่งหากผู้ใช้ไม่ตรวจสอบ Permission ให้ดีก่อนทำการติดตั้งโปรแกรม ก็จะตกเป็นเหยื่อของ Malware ได้โดยง่าย นอกจากนี้ ผู้พัฒนา Malware ส่วนใหญ่จะใช้วิธีการหลอกลวงแบบวิศวกรรมทางสังคม (Social engineering) ร่วมด้วย เช่น สร้างโปรแกรมโดยตั้งชื่อให้เหมือนกับเป็นเวอร์ชันฟรีของโปรแกรมที่ต้องเสียเงินซื้อ เพื่อหลอกให้คนดาวน์โหลดไปติดตั้ง เป็นต้น [11]ก่อนหน้านี้ Malware ในระบบปฏิบัติการ Android โดยส่วนใหญ่จะเน้นไปในด้านการขโมยข้อมูล เนื่องจากผู้ใช้อาจมีการเก็บข้อมูลสำคัญที่เป็นความลับ เช่น บัญชีธนาคารหรือไฟล์เอกสารสำคัญ ไว้ในโทรศัพท์มือถือ ตัวอย่าง Malware ที่โจมตีด้วยวิธีนี้คือโทรจันชื่อ Antammi ซึ่งหลอกว่าเป็นโปรแกรมที่เอาไว้สำหรับดาวน์โหลดเสียงเรียกเข้า (Ringtone) [12] แต่ในปัจจุบัน Malware ในระบบปฏิบัติการ Android ได้ถูกพัฒนาให้สามารถทำงานได้หลากหลายและสร้างความเสียหายได้มากขึ้น ตัวอย่างเช่น Zitmo ที่ถูกพัฒนามาจาก Zeus ซึ่งเป็นโทรจันใน PC โดยทำหน้าที่เป็น Man-in-the-Middle คอยดักรับและแก้ไขข้อมูลการใช้งาน e-Banking ของผู้ใช้ [13] และล่าสุด Kaspersky Labs ได้ค้นพบ Malware ตัวใหม่ที่ทำหน้าที่เป็น IRC Bot [14] ซึ่งเปิดโอกาสให้ผู้โจมตีเข้ามาควบคุมเครื่องของผู้ใช้จากระยะไกลได้ ถึงแม้ว่าปัจจุบันนี้จะมีโปรแกรม Antivirus สำหรับระบบปฏิบัติการ Android ออกมามากมาย แต่จากผลการทดสอบของสำนักวิจัยหลายแห่งพบว่าการติดตั้งโปรแกรม Antivirus ในระบบนั้นไม่สามารถช่วยในการตรวจจับ Malware ได้มากเท่าไหร่นัก แต่กลับทำให้เครื่องทำงานช้าลงและทำให้สิ้นเปลืองพลังงานมากขึ้น [15] [16]
เนื่องจากจุดอ่อนของ Android Market ที่ไม่มีมาตรการตรวจสอบโปรแกรมก่อนปล่อยให้ดาวน์โหลด มีเพียงแค่การ แจ้งลบโปรแกรมที่ไม่เหมาะสม และระบบปฏิบัติการ Android อนุญาตให้ผู้ใช้ติดตั้งโปรแกรมที่อยู่ในรูปแบบของไฟล์ .apk ได้ ทำให้ผู้ใช้ต้องระมัดระวังตนเองในการใช้งาน เช่น ตรวจสอบเว็บไซต์ของผู้พัฒนา พิจารณาจากผลการ Review ที่น่าเชื่อถือก่อนทำการติดตั้งโปรแกรมใดๆ รวมถึงไม่ติดตั้งโปรแกรมละเมิดลิขสิทธิ์หรือโปรแกรมที่มาจากแหล่งที่ไม่น่าเชื่อถือ เช่น เว็บไซต์สำหรับฝากไฟล์ เนื่องจากอาจมี Malware แอบแฝงมาได้ หากสงสัยว่าระบบติด Malware ผู้ใช้อาจจะสามารถตรวจสอบเบื้องต้นได้โดยการดูบันทึกของระบบ เช่น บันทึกการโทรออก หรือบันทึกการใช้งาน Mobile data เป็นต้น
อ้างอิง
- Smartphone http://en.wikipedia.org/wiki/Smartphone
- Gartner Says Sales of Mobile Devices Grew 5.6 Percent in Third Quarter of 2011; Smartphone Sales Increased 42 Percent http://www.gartner.com/it/page.jsp?id=1848514
- What is Android? http://developer.android.com/guide/basics/what-is-android.html
- Introducing Android 4.0 http://www.android.com/about/ice-cream-sandwich/
- DroidDream Malware Enters Official Android Market, Chaos Ensues After Root Exploit Found Embedded http://www.droid-life.com/2011/03/02/droiddream-malware-enters-official-android-market-chaos-ensues-after-root-exploit-found-embedded
- Mobile Malware Development Continues To Rise, Android Leads The Way http://globalthreatcenter.com/?p=2492
- Android Security Overview http://source.android.com/tech/security/index.html
- Security and Permissions http://developer.android.com/guide/topics/security/security.html
- Android Development Tutorial http://www.vogella.de/articles/Android/article.html#overview_permissions
- How to be safe, find trusted apps, and avoid viruses http://alostpacket.com/2010/02/20/how-to-be-safe-find-trusted-apps-avoid-viruses/
- PSA: No, This Is Not MSN 2012, Angry Birds 2, Or Modern Warfare 3 For Android - What You Can Do If You See Malware In The Market http://www.androidpolice.com/2011/11/05/psa-no-this-is-not-msn-2012-angry-birds-2-or-modern-warfare-for-android-what-you-can-do-if-you-see-malware-in-the-market/
- Android malware is stealing your data http://www.net-security.org/malware_news.php?id=1889
- Zitmo hits Android http://blog.fortinet.com/zitmo-hits-android/
- First Malicious IRC Bot For Android Shows Up, Allows The Attacker Full Remote Control Of Your Device http://www.androidpolice.com/2012/01/13/first-irc-bot-for-android-shows-up-allows-full-remote-control-of-your-device/
- Android antivirus freeware 'near to useless' http://www.zdnetasia.com/android-antivirus-freeware-near-to-useless-62302868.htm
- Free Android antivirus apps fail to cut it http://news.cnet.com/8301-1009_3-57325078-83/free-android-antivirus-apps-fail-to-cut-it/



