สัปดาห์ที่แล้วมี Malware บนแอนดรอยด์ระบาดระเบิดระเบ้อเต็มไปหมด ทำให้คนเริ่มตระหนักถึงปัญหา Malware บนโทรศัพท์มือถือกันมากขึ้นแล้ว (ซึ่งเป็นเรื่องดี)
ในขณะเดียวกันตัวเลขแอพฯไม่ประสงค์ดี ทั้ง Malware และแอพฯที่แอบขโมยข้อมูลส่วนตัวบนมือถือของคุณไปแบบเงียบๆ ก็มีตัวเลขเยอะขึ้นเรื่อยๆ การศึกษาล่าสุดบอกว่ามีมือถือติด Malware เกิน 10 ล้านเครื่อง ไม่นับรวมพวกที่แอบขโมยข้อมูลซึ่งไม่ได้ถูกเรียกว่า Malware รวมถึงที่ยังจับไม่ได้อีก เชื่อว่าเกิน 10% ของผู้ใช้มือถือแอนดรอยด์ น่าจะมีแอพฯประเภทนี้ลงอยู่อย่างน้อย 1 ตัว
วันก่อนก็มีงานวิจัยเรื่องการดักจับขโมย Username/Password ที่ดูยากๆออกมา แต่ก็แค่งานวิจัย อาจจะคิดว่าเป็นเรื่องไกลตัว แต่ความจริงไม่เลย เพราะในมุมมองผู้ใช้แล้ว การ "ขโมยข้อมูลส่วนตัว" มันดูทำยาก มันดูทำไม่ได้ จะเอาไปได้ยังไง บ้าหรอ ...
แต่ความจริงแล้วตรงกันข้ามเลย มันวิธีอื่นที่ "ทำง่ายมาก" อยู่ และถูกใช้อยู่ตลอดเวลาในขณะนี้ด้วยแอพฯไม่ประสงค์ดีทั้งหลายบน Store จะทำหรือไม่ขึ้นอยู่กับอย่างเดียว "นักพัฒนาคิดจะทำรึเปล่า" แค่นั้นเอง เนื่องจาก Nature ของผู้ใช้ ส่วนใหญ่ไม่ดูอยู่แล้วว่าแอพฯขอ Permission อะไร รวมถึงผู้พัฒนาเป็นใคร แค่อ่าน Description มี Screenshot ที่สวย หรือล่อด้วยสิ่งอโคจร คนก็โหลดกันมาแล้ว และข้อมูลส่วนตัวของคุณก็หลุดไปโดยไม่รู้ตัว
เพื่อพิสูจน์ว่ามันง่าย วันนี้เลยเขียนโปรแกรมเดโม "แอพฯขโมยภาพถ่าย" โดยที่ "เครื่องไม่ต้องรูทหรือทำอะไรแปลกๆเลย" และถ่ายวีดีโอที่ดูจบแล้วจะเปลี่ยนมุมมองการโหลดแอพฯของคุณตลอดไปมาให้รับชมรับฟังกันครับ
แอพฯในเดโมนี้ เราไปโหลด Open Source มา แล้วก็ยัดส่วนของการขโมยภาพใน Gallery เข้าไป ทำให้แอพฯดูมีฟีเจอร์ได้ เหมือนตั้งใจทำ แต่ความจริงเป็น Source ของคนอื่น ส่วนฝั่งเราก็สบายแฮ เขียนเพิ่มนิดเดียว แต่ได้ภาพจาก Gallery มาครบเลย ใช้เวลาทำรวมๆแค่ 30 นาทีเท่านั้นเอง
ถึงตัวนี้เราจะเดโมบน Android แต่ความจริง iOS ก็มีปัญหาทำนองเดียวกันนี้อยู่เช่นกัน (หากจำได้ เคยมีเคสที่ Path แอบส่ง Contact List ของผู้ใช้ไปเก็บบน Server จนเป็นข่าวคึกโครม) แต่ถ้าพิจารณาทุกองค์ประกอบรวมกันแล้ว Android น่าเป็นห่วงกว่ามาก ทั้งในแง่ระบบ Store และการทำงานของระบบปฏิบัติการ สาเหตุเพราะ iOS มีการตรวจสอบแอพฯก่อนเอาขึ้น แอพฯไหนทำอะไรไม่ได้ เค้าก็ไม่ค่อยเอาขึ้นให้ ทำให้แอพฯส่วนใหญ่เชื่อถือได้ รวมถึงถ้ามีแอพฯจะขโมยข้อมูลหลุดไป ระบบ Permission ของ iOS มันแบ่งเป็นส่วนๆ จะเข้าถึง Gallery คนก็จะรู้ก่อนด้วย Permission Dialog "แอพฯจะเข้าถึง Gallery นะ อนุญาตมั้ย?" แต่ก็จะเป็นการขออนุญาตเพียงครั้งเดียว หลังจากนั้นจะใช้งานได้ยาวไป
รวมถึงระบบการรันแอพฯที่ไม่ใช่ Multitasking โดยสมบูรณ์ ทำให้แอพฯที่หวังจะขโมยข้อมูล ทำได้แค่ช่วงสั้นๆเท่านั้น พอเราปิดแอพฯไป Background Process ก็จะอยู่ต่อได้อีกไม่นาน (แต่ก็ทำได้อยู่ดี ลองเปิด Camera Backup ของ Dropbox แล้วดูการทำงานดู นั่นแหละ เป็นช่วงเป็นไปได้ของการขโมยข้อมูล) และถ้าไม่เปิดแอพฯนั้นอีก การขโมยก็จะจบลงเท่านั้น
ในขณะที่แอนดรอยด์มีทั้งระบบการทำงานแบบด้านหลังสมบูรณ์แบบ (Background Service) ถึงคุณจะปิดแอพฯไปแล้ว มันก็ยังทำงานอยู่ (ตัวอย่างดูจากวีดีโอด้านบน)
รวมถึงระบบ BroadcastReceiver ที่ช่วย "กระตุ้นการทำงานเรื่อยๆ" ทำให้ถึงเราจะไม่เคยเปิดแอพฯนั้นมาเป็นปี มันก็แอบทำงานได้ด้วยการดักอีเว้นท์ต่างๆของเครื่องที่เกิดขึ้นเป็นประจำได้ ยกตัวอย่างเช่น ถ้า Boot เครื่องเสร็จ จะเรียกโปรแกรมที่เราตั้งไว้ให้ทำงาน (BOOT_COMPLETED) หรือถ้ามีการลงแอพฯใหม่เพิ่มขึ้นมา (PACKAGE_ADDED) ก็จะไปเรียกแอพฯเราให้ทำงาน (เช่นเดียวกัน ลองดูระบบ Camera Backup ของ Dropbox ทำงานตลอดเวลา ไม่เคยหยุดพัก ถึงแม้จะไม่ได้เปิดแอพฯมานานแล้วก็ตาม)
รวมถึงระบบ Permission ของแอนดรอยด์ก็ทำมาหลวมๆ มีให้เห็นตอนลงแอพฯเท่านั้น แถมส่วนใหญ่คนก็ไม่อ่านกันด้วย
โดยรวมแล้ว Android มีช่องให้โจมตีเยอะมากในระดับที่ผมยังไม่รู้ว่าผมจะป้องกันยังไงเลย น่าจะโดนไปแล้วหลายตัวเหมือนกัน
คำแนะนำจากนี้คือ
1) ถ้าจะลงแอพฯ ให้ดูว่า "เราไว้ใจนักพัฒนาคนนั้นได้แค่ไหน" สำคัญกว่า Permission อีกมั้ง อย่างน้อยก็ดูรู้เรื่องกว่า
2) อย่าถ่ายภาพโป๊หรือใส่ข้อมูล Sensitive ไว้ในส่วน Public Area ของมือถือ ถ้าจะเก็บอะไรพวกนี้ไว้ในมือถือ ให้ใช้โปรแกรมจำพวก Vault ที่มีระบบ Secure ข้อมูลในการเก็บ
3) อย่าโหลด apk นอก Store ไปลงเองไม่ว่ากรณีใดๆ
ส่วนตัวคิดว่าเรื่องนี้ไม่ใช่เรื่องเล่นๆ มันสำคัญมาก เพราะมันใกล้ตัวมาก แค่เราไม่รู้ตัว และมันก็ไม่ใช่งานวิจัย หากแต่เกิดขึ้นจริงแล้วกลาดเกลื่อนบน Play Store
แต่ถามว่าเปลี่ยนอะไรได้มั้ย? ตอบว่าไม่ได้ ต้องเปลี่ยนที่ตัวเราเอง ศึกษาและทำความเข้าใจ เพื่อจะได้ไม่ตกเป็นเหยื่อครับ จึงเป็นที่มาขอ Blog และวีดีโอนี้
จำไว้เสมอว่า
When the product is free, you are the product
นะครับ
ยังไงก็ใช้มือถืออย่างใส่ใจ โหลดแอพฯอย่างระวังนะครับ รักนะ จุ๊บๆ =)