Bài viết được tham khảo từ Blog của Jonathan Zdziarski, người được xem là một trong những chuyên gia hàng đầu về iOS trong mảng pháp lí điện tử và bảo mật. Là một chuyên gia bảo mật trong lĩnh vực iOS (thỉnh thoảng được biết đến với cái tên hacker “Nerve Gas”), nghiên cứu của Jonathan về iPhone định hướng cho nhiều phương pháp giám định pháp lí sử dụng ngày hôm nay và được chứng nhận bởi Viện Tư Pháp Hợp Chủng Quốc Hoa Kỳ.
Trong suốt vòng đời của iOS, Apple đã luôn cố gắng kiểm soát một cách gắt gao những quyền cá nhân, và phần lớn những điều mà Meitu mong ước rằng nó có thể là được chỉ đơn giản là không thể trong cơ chế kiểm soát môi trường chạy ứng dụng của iOS (Sandbox). Số IMEI đã được bảo vệ từ rất sớm, vậy nên nó không thể bị trích ra từ phía trong của môi trường chạy ứng dụng.
Những mã nhận dạng duy nhất như số UDID đã được loại bỏ trong vòng nhiều năm, và những kĩ thuật lạc hậu khác mà những gói theo dõi của Meitu cố gắng thử và thực hiện (ví dụ như sử dụng địa chỉ phần cứng của Wifi và Bluetooth) cũng ngày càng trở nên khó khăn hơn trong những năm gần đây và sớm sẽ không còn là điều có thể nữa.
Những tính năng theo dõi
Tôi đã kiểm tra phần nào mã nguồn bên trong và những tính năng theo dõi của Meitu, chúng sẽ được liệt kê trong mục này. Điều này không có nghĩa rằng những tính năng này đã được kích hoạt, mặc dù vậy nhiều tính năng cho thấy khả năng kiểm soát bởi một sự cấu hình từ xa. Nói cách khác, những tính năng này có thể được kích hoạt hoặc không tại bất cứ thời điểm nào, và nó tùy thuộc vào việc người dùng tin tưởng Meitu đến đâu.
1. Theo dõi tình trạng Jailbreak. Đoạn mã này tồn tại trong rất nhiều những trình theo dõi, nên chúng nằm trong nhóm ít tồi tệ, bằng những cách không mấy hiệu quả Meitu có thể kiểm tra xem thiết bị của bạn đã bị jailbreak chưa, như là kiểm tra sự hiện diện của Cydia, của đường dẫn /etc/apt, và một vài cách khác. Mặc dù vậy, điều mà tôi không thể tìm ra là bằng cách nào nó khai thác một thiết bị nếu nó tìm ra thiết bị này đã bị jailbreak. Có vẻ như không có bất kỳ nỗ lực nào để sinh sôi những tiến trình mới, triệu hồi bash, hoặc là thâm nhập vào bất cứ loại dữ liệu bổ sung nào mà chúng có khả năng truy cập vào một thiết bị đã bị jailbreak. Đội ngũ đánh giá app của Apple có vẻ sẽ ngay lập tức chú ý nếu như hành vi này tồn tại.
Apple 1, Meitu 0.
2. Những nỗ lực để trích xuất địa chỉ MAC của card giao tiếp mạng (ví dụ như là WiFi). Có một vài các trình theo dõi khác nhau bao gồm cả chu trình để trích xuất địa chỉ MAC của thiết bị. Có vẻ như một trình theo dõi mới hơn nhận ra rằng điều này là vô ích và nó chỉ trả lại một địa chỉ không có thật. Một tiến trình khác cố gắng thực hiện “sysclt calls” để thu nạp nó, mặc dù vậy thì môi trường chạy ứng dụng chỉ tương tự trả về một địa chỉ không có thật.
Apple 2, Meitu 0
3. Meitu sử dụng một công cụ được gọi là JSPatch, đó là một cách rất sơ sài để tải về và thực thi những đoạn JavaScrit được mã hóa từ máy chủ. Điều này về cơ bản là một nỗ lực để thực thi những mã chưa đăng kí trên iOS bởi việc tải về, giải mã và thực hiện tiến trình đánh giá… Nhưng mà nó không đủ xấu xa để Apple thấy việc cần thiết phải ngăn chặn nó. Tuy nhiên, nó đã mở rộng chức năng của ứng dụng vượt qua những gì mà người dùng có thể biết được qua đánh giá và tóm tắt trên App Store.
Với việc sử dụng Meitu, bạn có thể đã cho phép những hành vi của nó thay đổi mà không cần phải xem xét một cách bổ sung.
Không bên nào giành điểm trong phần này.
4. Có nhiều trình theo dõi thu thập một lượng lớn những mảng nhỏ dữ liệu về phần cứng của bạn về phiên bản OS, sau đó tải nó lên máy chủ theo dõi. Việc này sử dụng băng thông mạng và pin của bạn, vậy nên việc sử dụng Meitu thường tiêu thụ nhiều tài nguyên hơn bình thường. Không có một bằng chứng nào cho thấy việc thu thập dữ liệu được thực hiện khi ứng dụng chạy nền, mặc dù vậy nếu ứng dụng bắt đầu sử dụng một lượng lớn pin, nó sẽ ngay lập tức nhảy lên đầu danh mục sử dụng pin của các ứng dụng trong phần cài đặt.
Apple 3, Meitu 0
5. Đoạn mã tồn tại để xác định vị trí người dùng một cách trực tiếp, mặc dù vậy thì nó đã không được kích hoạt khi mà tôi sử dụng, và tôi cũng không bao giờ cho phép nó quyền truy cập. Giả sử nó được kích hoạt, chắc chắn iOS sẽ hỏi ý kiến người dùng cho quyền truy cập.
Apple 4, Meitu 0
6. Các đoạn mã cũng tồn tại để thu thập thông tin vị trí người dùng một cách gián tiếp thông qua việc trích xuất thông tin địa điểm từ dữ liệu EXIF trong những bức ảnh nằm trong album của người dùng. Bất cứ khi nào bạn chụp 1 bức ảnh, vị trí bức ảnh sẽ được ghi lại trong metadata của bức ảnh, và những ứng dụng khác sẽ có quyền truy cập thông tin này (nếu bạn đã cho phép quyền truy cập của ứng dụng nào vào phần album và máy ảnh).
Việc này có thể được lợi dụng để xác định địa chỉ nhà bạn cũng như là tiềm năng để xác định danh tính, đặc biệt nếu nó liên quan trực tiếp tới những dữ liệu đã có sẵn của những công ty khai thác dữ liệu. Đây là một cách rất thông minh để tìm kiếm thông tin về vị trí của người dùng mà không cần phải hỏi quyền truy cập. Tôi không chắc là tính năng này có được kích hoạt hay không, mặc dù vậy rõ ràng là có một con đường để dữ liệu đi qua ít nhất là với một số trình theo dõi đã được biên tập vào trong Meitu bao gồm MLAnalytic và Google Admob trackers.
Apple 4, Meitu 1.
Các quan sát bên lề
1. Một đoạn mã tồn tại sử dụng dlopen để liên kết trực tiếp tới một số bộ khung của phần mềm (frameworks), thứ này có thể được sử dụng bởi các nhà phát triển để triệu hồi những công thức không được ghi chép lại thường là không được cho phép bởi Apple Store SDK. Chronic đã báo cáo điều này trong đánh giá riêng của anh ấy, nhưng chỉ ra rằng nó chưa từng được gọi ra.
Tôi từ đó đã thảo luận những kết quả tìm kiếm của tôi với anh ấy – cụ thể là những ngờ vực xuất hiện trong đoạn mã này liên quan đến con trỏ số học, điều này chỉ ra rằng việc gọi ra các địa chỉ có thể đã bị làm biến dạng. Rất có vẻ là như vậy, nhưng việc gọi ra những địa chỉ này thì hiện tại không còn hoạt động trên phiên bản iOS hiện tại nhờ vào kĩ thuật những lớp địa chỉ trong không gian được bố trí một cách ngẫu nhiên (ASLR).
Dù vậy, toàn bộ vấn đề đã được đem ra thảo luận, và tôi cũng được thông báo rằng có một mối liên quan nhẹ trong việc cho phép sử dụng điều này miễn là các nhà phát triển không sử dụng chúng để gọi ra các phương thức không được hỗ trợ. Tôi cũng không thấy bằng chứng về việc này đang diễn ra.
2. Meitu thu nhận thông tin nhà mạng của bạn, sử dụng một framework có thẩm quyền trên thiết bị, cũng như quan sát những thay đổi của nhà mạng (rõ ràng là để xác định nếu bạn chuyển đổi giữa LTE và WiFI). Điều này được sự cho phép của Apple và không hề rò rỉ thêm thông tin nào ngoài những điều trên.
3. Một đoạn mã đã được tìm thấy tạo ra lệnh triệu hồi những framework cá nhân, nhưng như Chronic đã chỉ ra, chúng không còn hoạt động được nữa. Điều này có vẻ như cũng là một mã còn sót lại từ trong những phiên bản trước hoặc trong các trình theo dõi.
Những trình theo dõi này có vẻ như được viết tại những thời điểm khác nhau trong vòng đời của iOS, và trong khi một vài trình theo dõi có thể cố gắng để thực thi những tính năng xâm phạm quyền riêng tư cá nhân, rất nhiều trong số chúng thất bại đối với phiên bản hiện nay của iOS. Một số lớn những chương trình hỏng hoặc không còn có thể sử dụng được nữa có vẻ như là đã từng dùng được tại một thời điểm nào đó, cho đến khi mà Apple cải tiến phiên bản iOS của mình để chống lại chúng.
Tổng kết
Theo ý kiến cá nhân, Meitu về bản chất là một phần mềm khai thác dữ liệu. Những ứng dụng này thường cung cấp những tính năng tầm thường, chẳng hạn như là tạo tiếng “xì hơi” hoặc bật đèn flash, để có được một số lượng lớn người dùng và thêm điểm tiếp thị vào những cơ sở dữ liệu đã có sẵn. Trong khi Meitu phủ nhận việc kiếm bất kì đồng tiền nào từ việc theo dõi người dùng, có rất ít lí do khác đến trong tâm trí tôi để biện minh cho việc thấy rất nhiều thứ đã được dựng lên trong ứng dụng này – nhưng sự phán xét này hoàn toàn phụ thuộc vào người dùng quyết định.
Bởi vì toàn bộ những gói theo dõi được gói ghém vào bên trong, ứng dụng Meitu là một ứng dụng lớn. Tôi không thể đảm bảo độ an toàn của nó. Rất có thể là có một cái gì đó độc hại mà tôi chưa tìm ra, hoặc là có lẽ là một thứ gì đó độc hại sẽ được gửi đến sau thông qua hệ thống JSPatch của họ. Nó là một ứng dụng lớn, và tôi không rảnh đến độ có thời gian để hoàn thành phân tích từng mẫu bit nhị phân cho ứng dụng này.
Cuối cùng, sử dụng Meitu có vẻ như là không có khả năng làm ảnh hưởng xấu đến hệ thống của bạn hoặc là ăn cắp dữ liệu của bạn. Mặc dù vậy, điều quan trọng là phải hiểu rằng có một số thông tin của bạn sẽ bị sử dụng để theo dõi cho mục đích marketing và thu thập dữ liệu bởi những nhà quảng cáo. Kẻ thù của bạn ở đây có vẻ như là các cửa hàng bách hóa (hoặc cũng có thể là các cửa hàng bách hóa ở Trung Quốc), dù vậy thì đừng cảm thấy ái ngại để thêm vào một vài thuyết âm mưu ở đây, nhưng họ thực sự là có nhiều cái tốt hơn để theo dõi bạn.
Nếu bạn không quan tâm việc bị theo dõi để đổi lấy việc có thể xóa bỏ những điểm không tốt trong đôi mắt hoặc trên khuôn mặt của bạn, Meitu có lẽ là ứng dụng phù hợp cho bạn.