Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> สมาร์ทโฟน >> สมาร์ทโฟน

ทำไมผู้ใช้ Android ต้องสนใจ Dynamic Code Loading

เมื่อคนใช้แอปพลิเคชัน Android สิ่งที่เกิดขึ้นเบื้องหลัง มักไม่อยู่ในความคิด แต่เสียดาย ที่ตัวเลือกการเขียนโปรแกรม ที่เรียกว่า Dynamic code loading อาจก่อให้เกิดความเสี่ยงด้านความปลอดภัย นี่คือสิ่งที่คุณต้องรู้

Dynamic Code Loading คืออะไร?

ในการพัฒนาแอปพลิเคชัน โค้ดต้นฉบับทั้งหมด ที่ใช้ตอนสร้างแอป ประกอบเป็น Codebase Dynamic code loading อนุญาตให้แอป ดึงเนื้อหาจากนอก Codebase และ Execute (รัน) ระหว่างการทำงาน หรือ Runtime

ตัวเลือกนี้ ทำให้ขนาดแอปเล็กลง เพราะปฏิบัติทั่วไปคือ เก็บโค้ดไว้ Remote แทนที่จะฝังใน Android Package Kit (APK)

APK คือรูปแบบไฟล์ที่ Android ใช้ เมื่อกระจายและติดตั้งแอป ประกอบด้วยส่วนประกอบทั้งหมด สำหรับแอปทำงานบนอุปกรณ์ที่เข้ากันได้ Dynamic code loading ให้ข้อดีจากมุมมองการพัฒนา รวมถึงบางอย่างที่ปรับปรุง Usability ของแอป

ตัวอย่าง แอปอาจแสดงเนื้อหาแตกต่างให้คน ขึ้นอยู่กับว่า ใช้ Free หรือ Premium version Dynamic code loading สามารถแสดงเนื้อหาที่ถูกต้องตาม Tier ของผู้ใช้ ได้ โดยไม่เพิ่มขนาด APK

ทำไมผู้ใช้ Android ต้องสนใจ Dynamic Code Loading

เพิ่มเติม Dynamic code loading อนุญาตให้นักพัฒนา ปล่อยเวอร์ชันแอปใหม่ ที่มีการเปลี่ยนแปลงเล็กน้อย ผู้ใช้ได้เวอร์ชันล่าสุด โดยไม่ต้องดาวน์โหลดอะไร

แม้ข้อดีเหล่านี้ Dynamic code loading ก็อาจยกความเสี่ยงด้านความปลอดภัยแอป Android

แอปอันตรายมักมี Dynamic Code Loading

ผู้เขียนหนังสือวิจัย 2019 สำรวจแอป Android อันตราย เพื่อหาจุดร่วม พวกเขาอ้างอิงงานวิจัยก่อนหน้าของผู้อื่น ที่แสดง Dynamic code loading เป็นฟีเจอร์อันดับหนึ่งของแอปอันตราย

เกือบ 20,000 จาก 86,798 แอป ในการสืบสวนครั้งหนึ่ง มี Dynamic code loading

การอธิบายเพิ่มเติม ชี้ว่า คนนำฟังก์ชันหลักของแอปอันตราย ใส่ในไลบรารีอิสระ (Independent libraries) แล้วใช้ Dynamic code loading รันมัน วิธีนี้ ปกป้องพฤติกรรมอันตรายของแอป ทำให้ตรวจจับได้ยากขึ้น

เอกสารของ Google เกี่ยวกับประเภทมัลแวร์ที่ตรวจจับได้ ยืนยันว่า การใช้ Dynamic code ผิดวิธี อาจถูกจดทะเบียนเป็น Backdoor variety บริษัทนิยาม Backdoor malware ว่า การรันการกระทำอันตราย ระยะไกลควบคุม (Remote-controlled) บนอุปกรณ์ แล้วให้ตัวอย่าง Dynamic code loading อนุญาตให้แอป ดึงข้อความ SMS

อย่างไรก็ตาม Google กล่าวว่า พวกเขาดูว่า การรันโค้ด (Code execution) ทำพฤติกรรมอันตรายชัดเจนหรือไม่ ถ้าไม่ พวกเขาจัดการ Arbitrary code execution เป็นช่องโหว่ (Vulnerability) ให้นักพัฒนาแก้ไข

ในกรณีแอปอันตราย Arbitrary code execution อนุญาตให้แฮกเกอร์ รันคำสั่งระยะไกล (Remote commands) บนอุปกรณ์เป้าหมาย

นักวิจัยระบุปัญหา Dynamic Code Loading

ทำไมผู้ใช้ Android ต้องสนใจ Dynamic Code Loading

Google บ่อยครั้งดำเนินการตัดสินใจ เพิ่มความปลอดภัยให้ผู้ใช้ ตัวอย่าง คุกกี้บุคคลที่สาม (Third-party cookies) ติดตามผู้ใช้ บันทึกข้อมูล และใช้แสดงโฆษณาเป้าหมาย อย่างไรก็ตาม บริษัทจะบล็อก Third-party cookies บน Chrome browser ภายในปี 2022 ไม่ได้ระบุวันที่แน่ชัด

การโฟกัสความปลอดภัย ไม่ทำให้บริษัทไร้ปัญหา นักวิจัยไซเบอร์ความปลอดภัย พบ Arbitrary code execution ที่คงอยู่ (Persistent) ภายใน Google app และรายงานให้บริษัท ปัญหาแก้ไขในพฤษภาคม 2021 แต่ทำให้คนสนใจปัญหาที่เป็นไปได้ของ Dynamic code loading มากขึ้น

นักวิจัยยืนยันว่า ช่องโหว่จะให้โจมตี Launch แอปเพียงครั้งเดียว ก่อนขโมยข้อมูล Google ของบุคคล แฮกเกอร์อาจ exploit ช่องโหว่ Google app เพื่อ ดึงไลบรารีโค้ด จากแอปอันตรายบนอุปกรณ์ของบุคคล

จากนั้น ไซเบอร์คริมินัล สามารถเข้าถึงเกือบทั้งหมดของข้อมูล Google ของบุคคล รวมถึงอีเมล พวกเขายังสามารถเปิดใช้งาน ไมโครโฟน กล้อง และข้อมูลตำแหน่ง Real-time

ให้ความสนใจคำเตือนเกี่ยวกับช่องโหว่แอปอันตราย

เนื่องจาก Dynamic code loading เกิดขึ้นฝั่งการพัฒนา ผู้ใช้แอปทั่วไป ไม่สามารถทำอะไร เพื่อตรวจสอบว่า แอปเฉพาะเจาะจง อาจมีความอันตรายซ่อนอยู่ เกี่ยวกับวิธีทำงานเบื้องหลัง อย่างไรก็ตาม จะฉลาดถ้า ติดตามข่าวความปลอดภัยแอป Android ที่ขึ้นบนหัวข้อข่าวเทคโนโลยี

นักวิจัยไซเบอร์ความปลอดภัย ตลอดเวลาค้นหาปัญหา ที่อาจทำให้ผู้ใช้แอปหลายแสนคน เสี่ยง แล้วรายงาน พวกเขา การตระหนักรู้เรื่องอันตรายแอปที่เป็นไปได้ จะช่วยผู้ใช้ ตัดสินใจว่า ถ้าและเมื่อไหร่ ควรอัปเดตหรือลบ แอปที่อาจมีปัญหา