แอพ Android กว่า 1,000 แอพสามารถเข้าถึงข้อมูลผู้ใช้โดยไม่ต้องได้รับอนุญาตอย่างเหมาะสม

นักวิจัยพบว่าแอป Android จำนวนมากบน Google Play Store มีวิธีเลี่ยงรูปแบบการอนุญาตของ Android ในการเก็บเกี่ยวข้อมูลผู้ใช้

แม้ว่าผู้ใช้จะรับรู้ แต่จริงๆ แล้ว Android ก็ค่อนข้างปลอดภัยเหมือนกับระบบปฏิบัติการมือถือ โดยทั่วไปเรายอมรับสมมติฐานที่ว่าลิงก์ที่อ่อนแอที่สุดคือผู้ใช้ ตราบใดที่คุณรับชมสิ่งที่คุณติดตั้งและสิทธิ์ที่คุณให้ คุณจะปลอดภัยจากการเข้าถึงและการกระจายข้อมูลของคุณโดยไม่ได้รับอนุญาต หากคุณปฏิเสธไม่ให้แอป Android เข้าถึงตำแหน่งของคุณ แอปนั้นก็ไม่ควรมีวิธีใดที่จะรู้ว่าคุณอยู่ที่ไหนหรือเคยไปที่ไหน อย่างไรก็ตาม นักพัฒนาแอปบางรายได้ค้นพบวิธีหลีกเลี่ยงรูปแบบการอนุญาตของ Android ตามที่นักวิจัยจากสถาบันวิทยาการคอมพิวเตอร์นานาชาติ (ICSI) ระบุ

ตาม ซีเน็ต, การศึกษาถูกนำเสนอเมื่อเดือนที่แล้วที่ ความเป็นส่วนตัว หลังจากได้รับการเปิดเผยอย่างมีความรับผิดชอบต่อทั้ง Google และ FTC เมื่อเดือนกันยายนปีที่แล้ว แม้ว่า บทความที่เผยแพร่บนเว็บไซต์ของ FTC ไม่ได้แสดงรายการแอปที่แน่นอนที่ทีมทำเครื่องหมายไว้ในการวิเคราะห์ (รายละเอียดเหล่านั้นจะมาในภายหลังที่ การประชุมความปลอดภัยของ Usenix ในเดือนหน้า) โดยจะให้รายละเอียดเกี่ยวกับวิธีการวิเคราะห์และวิธีที่แอปต่างๆ ข้ามรูปแบบการอนุญาตของ Android สำหรับสิ่งที่คุ้มค่า Google กล่าวว่าความปลอดภัยและความเป็นส่วนตัวเปลี่ยนแปลง Google

เปิดตัวใน Android Q แล้ว จะปิดวิธีการบายพาสเหล่านี้ ดังนั้นบทความนี้จึงให้ข้อมูลเชิงลึกอันมีค่าเกี่ยวกับเหตุผลของ Google สำหรับการเปลี่ยนแปลงแพลตฟอร์มบางอย่างที่พวกเขาทำใน Android 10 มาดำดิ่งกัน

แอพมากกว่า 1,000 แอพข้ามรูปแบบการอนุญาตของ Android ได้อย่างไร

นักวิจัยแยกแยะความแตกต่างระหว่างเทคนิคการหลบเลี่ยงความปลอดภัยที่แตกต่างกันสองแบบ: ช่องด้านข้างและช่องแอบแฝง เทคนิคช่องทางด้านข้างเกี่ยวข้องกับการเข้าถึงข้อมูลเฉพาะในลักษณะที่ไม่ครอบคลุมโดยกลไกการรักษาความปลอดภัย ตัวอย่างเช่น แอปที่เคยติดตามตำแหน่งของอุปกรณ์ได้โดยใช้ที่อยู่ MAC จนกระทั่ง Android Pie แนะนำการสุ่มที่อยู่ MAC เทคนิคช่องทางแอบแฝงเกี่ยวข้องกับสองบริการที่ร่วมมือกันในการส่งข้อมูลจากบริการหนึ่งที่มีสิทธิ์เข้าถึงที่ถูกต้องไปยังบริการที่ไม่มี; ตัวอย่างเช่น แอปที่ได้รับอนุญาตให้เข้าถึงตำแหน่งอาจแชร์ข้อมูลนั้นกับแอปที่ไม่ได้รับสิทธิ์ในการเข้าถึง

ทีม ICSI วิเคราะห์แอป Android ที่ได้รับความนิยมสูงสุด 88,113 แอปจาก Google Play Store ของสหรัฐอเมริกา และค้นพบแอปและไลบรารีของบุคคลที่สามมากกว่า 1,000 แอป ใช้ช่องทางด้านข้างและ/หรือช่องทางแอบแฝงเพื่อหลีกเลี่ยงมาตรการรักษาความปลอดภัยของ Android เพื่อให้สามารถเข้าถึงข้อมูลตำแหน่งและตัวระบุถาวรของผู้ใช้ อุปกรณ์ ชุดข้อมูลเต็มของพวกเขาประกอบด้วย APK 252,864 รายการ เนื่องจากทีมงานได้คัดลอก Play Store เป็นระยะๆ เพื่อมองหาแอป 88,113 รายการเวอร์ชันใหม่ที่พวกเขาวางแผนจะวิเคราะห์ ในตอนแรกพวกเขาทดสอบพฤติกรรมของแต่ละแอปบน กูเกิล เน็กซัส 5X ใช้ Android 6.0.1 Marshmallow แต่ต่อมาได้ทดสอบการค้นพบอีกครั้งใน กูเกิลพิกเซล 2 ใช้ Android Pie เพื่อพิสูจน์ว่าการค้นพบนี้ยังคงใช้ได้ในเวอร์ชันล่าสุด ณ เวลาที่เปิดเผย

ด้วยชุดข้อมูลนี้ ทีมงานได้พัฒนาวิธีการโดยใช้การวิเคราะห์แบบไดนามิกและแบบคงที่เพื่อตรวจจับการหลีกเลี่ยงโมเดลสิทธิ์ของ Android กล่าวอีกนัยหนึ่ง ทีมงานศึกษาพฤติกรรมของแอปโดยตรวจสอบพฤติกรรมรันไทม์ของแอป (การวิเคราะห์แบบไดนามิก) หรือสแกนโค้ดเพื่อหาพฤติกรรมที่อาจเป็นอันตราย (คงที่ การวิเคราะห์) แน่นอนว่านักพัฒนาแอปที่เป็นอันตรายตระหนักถึงเทคนิคเหล่านี้ โดยใช้การทำให้โค้ดสับสนและการโหลดโค้ดแบบไดนามิกเพื่อทำให้การวิเคราะห์แบบคงที่ยากขึ้นหรือ TLS การสกัดกั้นเพื่อตรวจจับเมื่อแอปทำงานในสภาพแวดล้อมเสมือนจริง ดังนั้นทีมงาน ICSI จึงใช้การวิเคราะห์แบบคงที่และไดนามิกผสมกัน (การวิเคราะห์แบบไฮบริด) ใน การทดสอบ ด้วยเหตุนี้ ทีมงานจึงพบว่าข้อมูลต่อไปนี้ถูกคัดลอกโดยแอปที่ไม่มีสิทธิ์ที่จำเป็น:

  • อีมี่: เนื่องจาก IMEI เป็นตัวระบุที่ไม่ซ้ำใครและคงอยู่ จึงเป็นประโยชน์สำหรับบริการออนไลน์ที่จะขูดเพื่อให้สามารถติดตามอุปกรณ์แต่ละเครื่องได้ ทีมงานได้ค้นพบว่า ปลาแซลมอน และ ไป่ตู้ SDK ใช้ช่องแอบแฝงเพื่ออ่าน IMEI แอปที่มีสิทธิ์เข้าถึง IMEI อย่างถูกต้องจะจัดเก็บไฟล์ที่ซ่อนอยู่ในที่จัดเก็บข้อมูลภายนอกที่มี IMEI ของอุปกรณ์ เพื่อให้แอปอื่นๆ ที่ไม่มีสิทธิ์เข้าถึงถูกต้องสามารถอ่าน IMEI ได้ แอพที่ระบุโดยใช้ SDK ของ Baidu ในลักษณะนี้ ได้แก่ แอพสวนสนุกของ Disney สำหรับฮ่องกงและเซี่ยงไฮ้, Samsung Health และ Samsung Browser
  • ที่อยู่ MAC ของเครือข่าย: ที่อยู่ MAC ของเครือข่ายยังเป็นตัวระบุที่ไม่ซ้ำกัน และโดยปกติแล้วจะได้รับการป้องกันโดยสิทธิ์ ACCESS_NETWORK_STATE ตามที่นักวิจัยระบุว่า แอปต่างๆ ใช้โค้ดเนทิฟ C++ เพื่อ "เรียกใช้การเรียกระบบ UNIX จำนวนหนึ่งที่ไม่ได้รับการป้องกัน" ทีมงานระบุแอปได้ 42 รายการโดยใช้ Unity SDK เพื่อเปิดไฟล์ ซ็อกเก็ตเครือข่ายและ ioctl เพื่อรับที่อยู่ MAC แม้ว่าพวกเขาจะสังเกตเห็นว่าแอป 748 จาก 12,408 แอปมีโค้ดที่เป็นปัญหาในขณะที่ขาด ACCESS_NETWORK_STATE การอนุญาต.
  • ที่อยู่ MAC ของเราเตอร์: สิทธิ์ ACCESS_WIFI_STATE ปกป้อง BSSID แต่การอ่านแคช ARP ใน /proc/net/arp จะทำให้แอปสามารถรับข้อมูลนั้นได้โดยไม่จำเป็นต้องมีการอนุญาตใดๆ ผู้วิจัยได้ระบุ โอเพนเอ็กซ์ SDK ที่ใช้เทคนิคช่องด้านข้างนี้
  • ตำแหน่งทางภูมิศาสตร์: นักวิจัยค้นพบว่าแอป Shutterfly เข้าถึงแท็กตำแหน่งของข้อมูลเมตา EXIF ​​​​ของรูปภาพ สิ่งที่คุณต้องมีคือสิทธิ์ READ_EXTERNAL_STORAGE

ใน Android Q ตอนนี้ Google กำหนดให้แอปต้องได้รับอนุญาต READ_PRIVILEGED_PHONE_STATE เพื่ออ่าน IMEI อุปกรณ์ที่ใช้ Android Q จะส่งที่อยู่ MAC แบบสุ่มตามค่าเริ่มต้น ในที่สุด Android Q's พื้นที่เก็บข้อมูลที่มีการกำหนดขอบเขต การเปลี่ยนแปลงจะลดความสามารถของแอปในการอ่านข้อมูลตำแหน่งจากภาพถ่าย ดังนั้นข้อกังวลเหล่านี้ได้รับการแก้ไขแล้วใน Android รุ่นล่าสุด แต่อย่างที่เราทุกคนทราบกันดีอยู่แล้ว ใช้เวลาสักพักหนึ่ง สำหรับการอัปเดตล่าสุดเพื่อเผยแพร่


บทสรุป

โดยรวมแล้ว การศึกษานี้ให้ความกระจ่างว่าแอปบางตัวเข้าถึงข้อมูลที่ควรได้รับการปกป้องภายใต้สิทธิ์อย่างไร การวิจัยพิจารณาเฉพาะส่วนย่อยของสิ่งที่ Google เรียกว่าการอนุญาตที่ "อันตราย" โดยเฉพาะอย่างยิ่งการข้ามการอนุญาตเช่น Bluetooth รายชื่อติดต่อ และ SMS สำหรับรายละเอียดทั้งหมดเกี่ยวกับรายงานนี้ ฉันขอแนะนำให้อ่าน กระดาษที่ส่งไปยัง FTC.